PHP array_diff 计算数组的差集

时间:2024-01-15 13:21:32

array_diff

(PHP 4 >= 4.0.1, PHP 5)

array_diff — 计算数组的差集

说明

array array_diff ( array $array1 , array $array2 [, array $ ... ] )

array_diff() 返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意键名保留不变。

Example #1 array_diff() 例子

<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);

print_r($result);
?>

在 $array1 中多次出现的值一样处理,输出结果为:

Array
(
[1] => blue
)

Note: 两个单元仅在 (string) $elem1 === (string) $elem2 时被认为是相同的。也就是说,当字符串的表达是一样的时候。

Note: 注意本函数只检查了多维数组中的一维。当然可以用 array_diff($array1[0], $array2[0]); 检查更深的维度。

Warning

本函数在 PHP 4.0.4 中是坏的!

参见 array_diff_assoc()array_intersect() 和 array_intersect_assoc()