php in_array()使用数组作为针产生意外结果

时间:2018-01-13 23:15:58

标签: 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";
}

?>

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

2 个答案:

答案 0 :(得分:3)

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

if(count(array_intersect($needle, $haystack)))

答案 1 :(得分: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";
}

EXAMPLE