php in_array() 以数组为针产生意外结果

Jam*_*mie 4 php arrays

我有一个简单in_array()的数组作为下面的针示例,但是我希望我的示例应该回显;

在数组中找到匹配

鉴于两根针都存在于大海捞针中。但是,此代码不会产生回声。我希望有人能帮助我理解为什么我没有在这里匹配。

<?php
$needle =  array('fjord', 'troz');
$haystack =  array('troz', 'zort', 'fran', 'fjord');
if (in_array($needle, $haystack))
{
echo "match found in the array";
}

?>
Run Code Online (Sandbox Code Playgroud)

我已经阅读了http://php.net/manual/en/function.in-array.php但我不确定为什么我没有得到匹配。

rol*_*fv1 10

为避免循环,您可以使用array_intersect()

if(count(array_intersect($needle, $haystack)))
Run Code Online (Sandbox Code Playgroud)


Jay*_*ard 1

因为针是数组,in_array()就是大海捞针找数组。以下作品:

$needle =  array('fjord', 'troz');
//$haystack =  array('troz', 'zort', 'fran', 'fjord');
$haystack = array(array("fjord","troz"), array("foo","bar"));
if (in_array($needle, $haystack))
{
echo "match found in the array";
}
Run Code Online (Sandbox Code Playgroud)

例子