php 计算两数组交集两个函数
使用 array_intersect 求两个数组的交集比使用 array_diff 求同样两个数组的并集要快,如果要求数组 $a 与数组 $b 的差集的个数,应该使用:count($a) - count(array_intersect($a, $b)),而不要用 count(array_diff($a,$b));前面要比后者快,在大数组中更为明显.
array_intersect() 函数返回两个或多个数组的交集数组.
结果数组包含了所有在被比较数组中,也同时出现在所有其他参数数组中的值,键名保留不变.
注释:仅有值用于比较.
语法:array_intersect(array1,array2,array3...)
参数 描述
array1 必需,与其他数组进行比较的第一个数组.
array2 必需,与第一个数组进行比较的数组.
array3 可选,与第一个数组进行比较的数组,可以有多个.
PHP实例代码如下:
- <?php
- $a1=array(0=>"Cat",1=>"Dog",2=>"Horse");
- $a2=array(3=>"Horse",4=>"Dog",5=>"Fish");
- print_r(array_intersect($a1,$a2));
- ?>
- //输出:Array ( [1] => Dog [2] => Horse )
array_diff() 函数返回两个数组的差集数组,该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键值,在返回的数组中,键名保持不变.
语法:array_diff(array1,array2,array3...)
参数 描述
array1 必需,与其他数组进行比较的第一个数组.
array2 必需,与第一个数组进行比较的数组.
array3 可选,与第一个数组进行比较的数组.
提示和注释
提示:可用一个或任意多个数组与第一个数组进行比较.
注释:仅有值用于比较.
PHP实例代码如下:
- <?php
- $a1=array(0=>"Cat",1=>"Dog",2=>"Horse");
- $a2=array(3=>"Horse",4=>"Dog",5=>"Fish");
- print_r(array_diff($a1,$a2));
- ?>
- //输出:Array ( [0] => Cat )
- //开源代码phpfensi.com