$array1 = array(
array(
'id'=>1,
'name'=>'熊大',
'age'=>18,
),
array(
'id'=>2,
'name'=>'熊二',
'age'=>15,
),
array(
'id'=>3,
'name'=>'熊三',
'age'=>10,
),
);
$array2 = array(
array(
'id'=>3,
'name'=>'熊四',
'age'=>8,
),
);
//$array2相对与array1的补集
$delete_array = array_filter($array1, function ($v, $k) use ($array2) {
foreach ($array2 as $key => $val) {
// if ($val['id'] == $v['id'] && $val['name'] == $v['name'] && $val['age'] == $v['age']) {
// return false;
// }
if ($val['age'] == $v['age']) {
return false;
}
}
return true;
}, ARRAY_FILTER_USE_BOTH);
//$array1相对与array2的补集
$add_new_array = array_filter($array2, function ($v, $k) use ($array1) {
foreach ($array1 as $key => $val) {
// if ($val['id'] == $v['id'] && $val['name'] == $v['name'] && $val['age'] == $v['age']) {
// return false;
// }
if ($val['age'] == $v['age']) {
return false;
}
}
return true;
}, ARRAY_FILTER_USE_BOTH);
$delete_array = array_values($delete_array);
$add_new_array = array_values($add_new_array);
print_r($delete_array);
print_r($add_new_array);
二维数组获取相对补集
最新推荐文章于 2021-03-09 23:54:38 发布