Php 比较两个关联数组并显示差异
我有以下两个来自MySQL查询结果的数组结果 数组1(原始数据): 数组2(已更改的数据) 我想从上述两个数组中实现的是,将结果以表格格式或内部形式比较并显示到每个字段(原始和新更改),如下所示Php 比较两个关联数组并显示差异,php,arrays,associative-array,Php,Arrays,Associative Array,我有以下两个来自MySQL查询结果的数组结果 数组1(原始数据): 数组2(已更改的数据) 我想从上述两个数组中实现的是,将结果以表格格式或内部形式比较并显示到每个字段(原始和新更改),如下所示 FiledsN Original New Change title Empty Mr Wl Empty 255 Care Empty Sahan gender
FiledsN Original New Change
title Empty Mr
Wl Empty 255
Care Empty Sahan
gender m f
instance Empty Look
我已尝试使用以下函数将阵列设置为单个阵列:
function array_single($arr) {
if (!is_array($arr)) {
return FALSE;
}
$res = array();
foreach ($arr as $keys => $values) {
if (is_array($values)) {
$res = array_merge($res, array_single($values));
} else {
$res[$keys] = $values;
}
}
return $res;
}
然后用这个进行比较:
function diff($new,$old) {
$del=array_diff_assoc($old,$new);
$add=array_diff_assoc($new,$old);
return $diff=array("old"=>$del, "new"=>$add);
}
好的,你说了你想要的,现在你做了什么调查,导致你尝试什么我们没有问题,但你能告诉我们你尝试了什么吗?哦,我尝试了很多…首先我将两者都改为单阵列,然后我尝试比较,但这个[w_a_ml]=>数组..我遇到了问题…无论如何…让我为…粘贴一些代码,这使它变得单一..数组函数Array_single($arr){if(!is_Array($arr)){return FALSE;}$res=Array();foreach($arr as$keys=>$values){if(is_Array($values)){$res=array\u merge($res,array\u single($values));}否则{$res[$keys]=$values;}}返回$res;}那么我正在使用这个函数……函数diff($new,$old){$del=array\u diff\u assoc($old,$new);$add=array\u diff\u assoc($new,$old);返回$diff=array(“旧”=>$del,“新”=>$add);}
function array_single($arr) {
if (!is_array($arr)) {
return FALSE;
}
$res = array();
foreach ($arr as $keys => $values) {
if (is_array($values)) {
$res = array_merge($res, array_single($values));
} else {
$res[$keys] = $values;
}
}
return $res;
}
function diff($new,$old) {
$del=array_diff_assoc($old,$new);
$add=array_diff_assoc($new,$old);
return $diff=array("old"=>$del, "new"=>$add);
}