PHP获得数组差集的多种方法(附带实例)
数组的差集是指在第一个数组中存在,但在其他数组中不存在的成员组成的集合。
获取两个数组甚至更多数组的差值,PHP 提供了很多函数。下表是 PHP 数组差集计算的函数:
下面的代码演示了 array_diff() 函数的应用:
获取两个数组甚至更多数组的差值,PHP 提供了很多函数。下表是 PHP 数组差集计算的函数:
函数 | 功能 |
---|---|
array_diff() | 返回两个或多个数组的差集,按成员的值的字符串形式进行比较 |
array_udiff() | 返回两个或多个数组的差集,按回调函数比较数组成员的值 |
array_diff_key() | 返回两个或多个数组的差集,按成员键的字符串形式进行比较 |
array_diff_ukey() | 返回两个或多个数组的差集,按回调函数比较成员的键 |
array_diff_assoc() | 返回两个或多个数组的差集,同时比较数组成员的键和值 |
array_diff_uassoc() | 返回两个或多个数组的差集,同时比较数组成员的键和值,其中,键使用回调函数比较 |
array_udiff_assoc() | 返回两个或多个数组的差集,同时比较数组成员的键和值,其中,成员的值使用回调函数比较 |
array_udiff_uassoc() | 返回两个或多个数组的差集,同时比较数组成员的键和值,其中,成员的键和值分别使用回调函数比较 |
下面的代码演示了 array_diff() 函数的应用:
<?php $arr1 = range(1,3); $arr2 = range(3,5); $arr3 = range(2,3); print_r(array_diff($arr1,$arr2)); echo "<br>"; print_r(array_diff($arr1,$arr2,$arr3)); ?>代码执行结果:
Array( [0] => 1 [1] => 2)
Array( [0] => 1 )