比较两个数组,两个数组之间是否有共同的元素?

时间:2011-03-25 11:00:09

标签: php arrays

我需要测试一个数组的一个元素是否在另一个数组中。

$array_one = array("gogo", "blabla", "toto");

$array_two = array("stackov", "renaul", "toto");

我想知道array_one中的一个元素是否在array_two ???

如何测试?我正在尝试in_array,但似乎有问题。

3 个答案:

答案 0 :(得分:19)

array_intersect()

$array1 = array("gogo", "blabla", "toto");
$array2 = array("stackov","renaul","toto");

$commonElements = array_intersect($array1,$array2);

var_dump($commonElements);

答案 1 :(得分:3)

试试这个:

array_intersect($array_one, $array_two);

答案 2 :(得分:2)

Mark的回答应该足以解决您的问题。 如果您希望找到两个以上数组的交叉,请使用:

$arrays = array(
    array(1, 2, 3),
    array(2, 4, 6),
    array(2, 8, 16)
);

$intersection = call_user_func_array('array_intersect', $arrays);