php一维二维数组差异对比,新增修改删除了哪些

php一维二维数组差异对比,新增修改删除了哪些

php一维二维数组差异对比,新增修改删除了哪些

项目中,经常要对比数组,看看数组共同部分,新增了哪些,删除了哪些,修改了哪些,今天我们来用php实现。

我们先看以为数组的比较,

<?php
$q = array('b', 'c', 'd', 'e'); //旧数组
echo "旧数组</br>";
print_r($q);
echo "</br>新数组</br>";
$s = array('b', 'c', 'e', 'f', 'g'); //新数组
print_r($s);
//对比两个数组共同的部分
echo "</br>对比两个数组共同的部分</br>";
$m = array_intersect($q, $s);
print_r($m);

//新数组中删除旧数组的部分
echo "</br>新数组中删除旧数组的部分</br>";
$old = array_diff($q, $m);
print_r($old);

//新数组中新增的部分
echo "</br>新数组中新增的部分</br>";
$new = array_diff($s, $m);
print_r($new);

?>

下面再看看二维数组的比较

<?php
$a = ["a"=>"22","b"=>"333","c"=>"dddd","f"=>"dddd"];
$b = ["a"=>"22","b"=>"3323","c"=>"ddd3d","d"=>"ddd3d"];

//b中键值有修改的
echo "b中键值有修改的</br>";
var_dump(array_diff($a,$b));
echo "</br>";
//b中删除了
echo "b中删除了</br>";
var_dump(array_diff(array_keys($a),array_keys($b)));
echo "</br>";
//b中新增了
echo "b中新增了</br>";
var_dump(array_diff(array_keys($b),array_keys($a)));
echo "</br>";
?>


{{collectdata}}

网友评论0