找出PHP中两个数组之间的常见/不常见元素

时间:2010-04-07 06:36:35

标签: php arrays

考虑我有两个数组:

$friends = Array('foo', 'bar', 'alpha');
$attendees = Array('foo', 'bar');

现在我需要填充一个新数组$nonattendees,该数组只包含$friends数组中$attendees数组和 数组中的元素。即,$nonattendees数组应填充'alpha'。

PHP 中是否有可用的内置阵列操作来实现上述功能,还是应该编写自己的for循环?

3 个答案:

答案 0 :(得分:5)

array_diff似乎就是你要找的东西。

$nonattendees = array_diff($friends, $attendees);

答案 1 :(得分:3)

// differancee items code 
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);

print_r($result);

// common items code //

$array1 = array("a" => "green", "red", "blue");
$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
print_r($result);

答案 2 :(得分:0)

http://php.net/manual/en/ref.array.php为您提供了很多功能 array_intersect()或array_diff()例如

对于这样的直接问题,手册页总是更好的选择。