<?php /* 合并多维数组 $arr_default会覆盖$arr */ function dd_array_merge($arr,$arr_default){ $rs = []; //取所有键名 $foo[] = array_keys($arr_default); $foo[] = array_keys($arr); $names = array_merge(...$foo); //如果是低版本php,将此行换成 $names = array_merge($foo[0],$foo[1]); $names = array_unique($names); foreach($names as $a){ if(isset($arr_default[$a])&&is_array($arr_default[$a])){ $rs[$a] = dd_array_merge($arr[$a],$arr_default[$a]); }else{ $rs[$a] = isset($arr[$a])?$arr[$a]:$arr_default[$a]; } } return $rs; }