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