获取两次提交数据变化的方法
//从数据库中获取到的数据 $data = [ 'name' => 'songsong', 'mobile' => '113000000', 'address' => '石家庄', 'code' => '123' ]; //模拟用户数据 $newData = [ 'name' => 'james', 'mobile' => '18633333333333', 'address' => '石家庄', 'type' => 4555 //这是一个额外的值,数据库不存在,需要排除掉,不做比较 ]; //1、求出两个数据的合集 $intersectData = array_intersect_key($data, $newData); //2、得出要修改的字段的新数组 $intersectNewData = array_intersect_key($newData, $intersectData); //3、以新旧数据对比 得出两边数据的差异 $diffData = array_diff($intersectData, $intersectNewData); $logData = []; foreach ($diffData as $key => $val) { $str = ($intersectData[$key] ?? '') . ' => ' . ($intersectNewData[$key] ?? ''); $logData[$key] = $str; } dump($intersectNewData); dump($intersectData); dump('此次修改变动了',$logData);