在php中,求数组的差集。
需要用到数组的差集函数:array_diff()。
php数组函数array_diff(),返回出现在第一个数组中但其他输入数组中没有的值。
这个功能与array_intersect()相反。
array array_diff(array array1,array array2[,arrayN…])
来看一个简单的例子:
<?php //求数组的差集 $fruit1 = array("Apple","Banana","Orange"); $fruit2 = array("Pear","Apple","Grape"); $fruit3 = array("Watermelon","Orange","Apple"); $intersection = array_diff($fruit1, $fruit2, $fruit3); print_r($intersection); //by www.jb200.com // output // Array ( [1] => Banana ) ?>
接着介绍PHP取两个数组的差集的方法。
再来看下 array_diff() 函数的定义与用法。
定义和用法
array_diff() 函数返回两个数组的差集数组。
该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键值。在返回的数组中,键名保持不变。
语法
array_diff(array1,array2,array3...
参数说明
array1 必需。与其他数组进行比较的第一个数组。
array2 必需。与第一个数组进行比较的数组。
array3 可选。与第一个数组进行比较的数组。
提示
可用一个或任意多个数组与第一个数组进行比较。
注释
仅有值用于比较。
例子:
<?php $str1=array(0=>"Cat",1=>"Dog",2=>"Horse"); $str2=array(3=>"Horse",4=>"Dog",5=>"Fish"); $result = array_diff($str1,$str2); dump($result); //求数组差集 by www.jb200.com ?>
输出:
array
0=>string 'Cat'(length=3)