Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 比较两个关联数组并显示差异_Php_Arrays_Associative Array - Fatal编程技术网

Php 比较两个关联数组并显示差异

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

我有以下两个来自MySQL查询结果的数组结果

数组1(原始数据):

数组2(已更改的数据)

我想从上述两个数组中实现的是,将结果以表格格式或内部形式比较并显示到每个字段(原始和新更改),如下所示

    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);
}