加入收藏 | 设为首页 | 会员中心 | 我要投稿 百客网 - 百科网 (https://www.baikewang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php多维数组合并_php合并多维数组,递归合并

发布时间:2022-12-19 11:43:26 所属栏目:PHP教程 来源:
导读:  php有array_merge合并数组功能,但是有个问题PHP多维数组,这个函数只合并一维数组,如果有多维数组,则后面的会覆盖前面数组中的子节点,因此写啦另一个深度合并的函数来合并子节点的元素/**

  *深度合并
  php有array_merge合并数组功能,但是有个问题PHP多维数组,这个函数只合并一维数组,如果有多维数组,则后面的会覆盖前面数组中的子节点,因此写啦另一个深度合并的函数来合并子节点的元素/**
 
  *深度合并数组
 
  *@DateTime2020-01-11
 
  *@Authormokuyu
 
  *
 
  *@param[type]$arrs[description]
 
  *@return[type]
 
  */
 
  functionarray_merge_deep(...$arrs)
 
  {
 
  $merged=[];
 
  while($arrs){
 
  $array=array_shift($arrs);
 
  if(!$array){continue;}
 
  foreach($arrayas$key=>$value){
 
  if(is_string($key)){
 
  if(is_array($value)&&array_key_exists($key,$merged)
 
  &&is_array($merged[$key])){
 
  $merged[$key]=array_merge_deep(...[$merged[$key],$value]);
 
  }else{
 
  $merged[$key]=$value;
 
  }
 
  }else{
 
  $merged[]=$value;
 
  }
 
  }
 
  }
 
  return$merged;
 
  }
 
  $arr1=[
 
  'oss'=>[
 
  'access_key_id'=>'asdfasdfsdf',
 
  'app_secket'=>'',
 
  ],
 
  ];
 
  $arr2=[
 
  'oss'=>[
 
  'on'=>true,
 
  'domain'=>'#39;,
 
  ],
 
  ];
 
  var_dump(array_merge($arr1,$arr2));
 
  var_dump(array_merge_deep($arr1,$arr2));
 

(编辑:百客网 - 百科网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!