php array_intersect() 和 array_diff() 函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php array_intersect() 和 array_diff() 函数相关的知识,希望对你有一定的参考价值。

php中,使用 array_intersect 求两个数组的交集比使用 array_diff 求同样两个数组的并集要快。

如果要求数组 $a 与数组 $b 的差集的个数,应该使用 count($a) - count(array_intersect($a, $b)),而不要用 count(array_diff($a, $b)); 

前面要比后者快,在大数组中更为明显。 


$array1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$array2=array("e"=>"red","f"=>"black","g"=>"purple");


$result1 = array_diff($array1, $array2);  //获取$array1中和$array2中不同元素 (差集)

$result2 = array_intersect($array1, $array2);  //获取$array1中和$array2中相同元素 (交集)
print_r($result1);

//

Array
(
[b] => green
[c] => blue
[d] => yellow
)

//

print_r($result2);

//

Array
(
[a] => red
)

//

技术分享

以上是关于php array_intersect() 和 array_diff() 函数的主要内容,如果未能解决你的问题,请参考以下文章

PHP array_intersect

如何在 PHP、MySQL 的 foreach 中使用 array_intersect

php动态array_intersect

php array_merge 和 array_intersect 使用合并、过滤数组

php中的array_intersect()具有特殊用途

PHP:正则表达式替代 array_intersect