在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)