PHP求二维数组的差集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP求二维数组的差集相关的知识,希望对你有一定的参考价值。

$arr1 = array(
  array(appid=>1111,sku=>aaaa),
  array(appid=>222,sku=>bbbb),
  array(appid=>333,sku=>cccc),
  array(appid=>444,sku=>ddd)
);
$arr2 = array(
  array(appid=>1111,sku=>aaaa),
  array(appid=>222,sku=>bbbb),
  array(appid=>555,sku=>ee)
);
foreach($arr1 as $k=>$v) if(in_array($v, $arr2)) unset($arr1[$k]);
print_r($arr1);

用闭包和 array_filter 函数(一维数据返回差集当然直接是array_diff啦,但是二维呢???)

$r = array_filter($arr1, function($v) use ($arr2) { return ! in_array($v, $arr2);});
print_r($r);

输出的结果都是下面

Array
(
    [2] => Array
        (
            [appid] => 333
            [sku] => cccc
        )
 
    [3] => Array
        (
            [appid] => 444
            [sku] => ddd
        )
 
)

 

以上是关于PHP求二维数组的差集的主要内容,如果未能解决你的问题,请参考以下文章

ES6数组:两个数组或数组对象取并集、交集、差集

PHP如何取二维数组中的某列的最大值和最小值?

PHP 两个二维数组求交集

php 一个二维数组求二维数组内的并集

求问php两个二维数组中每个元素的相加

PHP数组 并集 交集 差集