在PHP中,数组函数 array_diff() 用于计算数组的差集。
函数语法:
array_diff ( array $array1 , array $array2 [, array $... ] ) : array
函数参数说明:
参数 | 描述 |
---|---|
array1 | 必需。与其他数组进行比较的第一个数组。 |
array2 | 必需。与第一个数组进行比较的数组。 |
array3,... | 可选。与第一个数组进行比较的其他数组。 |
array_diff() 函数比较数组的值value,计算数组的差集。此函数对比 array1 和其他一个或者多个数组,返回value在 array1 中但是不在其他 array 里的数组元素的差集,注意键名保留不变。
举例1,计算数组的差集:
<?php // 定义数组 $arr1 = ['hello', 'world', 'hello', 'china']; $arr2 = ['hello', 'world', 'hi']; // 计算数组的差集 $res = array_diff($arr1, $arr2); // 输出结果数组 var_dump($res);
以上代码输出如下(键名保留不变):
array (size=1) 3 => string 'china' (length=5)
举例2,计算关联数组的差集:
<?php // 定义关联数组 $arr1 = ['0' => 'hello', '1' => 'world', '2' => 'hello', '3' => 'china']; $arr2 = ['a' => 'hello', 'b' => 'world', 'c' => 'hi']; // 计算数组的差集 $res = array_diff($arr1, $arr2); // 输出结果数组 var_dump($res);
以上代码输出如下(键名保留不变):
array (size=1) 3 => string 'china' (length=5)
注意:
该函数比较两个(或更多个)数组的值(key=>value 中的 value),不比较键。