php合并多维数组,php合并二维数组,完美解决array_replace_recursive的bug


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

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM