# 介绍 主要用于一些需要保存数据更改情况的场景, 如日志 ![](https://img.kancloud.cn/4b/7f/4b7ff4fa16d362a869439a7c0bae2e60_1609x362.png) # 函数 ``` /** * 数组差异 -- 排除多维 (把多维数组/对象转换json再整体对比) * * @param array $arr1 返回第一个的差异 * @param array $arr2 * @param array $out 排除的字段 , 比如不想参与差异比较的字段 create_time update_time 之类的 ; 示例: ['name', .......] * @return void */ function array_diff2($arr1, $arr2, $out = []) { foreach ($arr1 as $key => $value) { if (is_array($value) || is_object($value)) { $arr1[$key] = json_encode($value); } foreach ($out as $i => $item) { if ($key == $item) { unset($arr1[$key]); } } } foreach ($arr2 as $key => $value) { if (is_array($value) || is_object($value)) { $arr2[$key] = json_encode($value); } foreach ($out as $i => $item) { if ($key == $item) { unset($arr2[$key]); } } } return array_diff($arr1, $arr2); } ```