$arr1 = [
['number' => '1001', 'empno' => '9991','title'=>'财务'],
['number' => '1001', 'empno' => '9992','title'=>'财务'],
['number' => '1002', 'empno' => '9991','title'=>'财务'],
['number' => '1002', 'empno' => '9992','title'=>'财务'],
['number' => '1001', 'empno' => '9990','title'=>'财务']
];
$arr2 = [
['number' => '1001', 'empno' => '9991','title'=>'财务'],
['number' => '1001', 'empno' => '9992','title'=>'财务'],
['number' => '1002', 'empno' => '9991','title'=>'财务'],
['number' => '1002', 'empno' => '9992','title'=>'财务']
];
如有以上两组数组,就如唯一键值一样,number与empno不能出现同一组为重复的数组,以上$arr1,最后一位元素为差集元素(['number' => '1001', 'empno' => '9990','title'=>'财务']),就是不相同的元素。请问怎么用除了套用两个foreach外快速的查找出来呢
1 回答
呼啦一阵风
TA贡献1802条经验 获得超6个赞
$arr3 = array_filter($arr1, function ($v) use ($arr2) {
return !in_array($v, $arr2);
});
最简单的写法
不过这个写法有个缺陷只能找到$arr1
中不包含$arr2
的项,要找出2个数组差集得再封装一下
- 1 回答
- 0 关注
- 697 浏览
添加回答
举报
0/150
提交
取消