array_merge 只能合并一维;

array_merge_recursive 虽然可以递归地合并多维数组,但是它会把相同的 key 的值合并到一个数组中去,而不是保留后面的数组的值;

/**

* 合并数组

* 使用引用传递参数 $arr1 最终会被修改为合并后的数组

* 相同 key 的情况下,如果 $arr1 的值和 $arr2 的值都是数组类型,则继续合并下级数组,否则 $arr2 的值覆盖 $arr1 的值;

* 如果 $arr2 中存在的 key=>value 在 $arr1 中不存在,则将相差的 key=>value 与 $arr1 合并;

*/

public static function arrayMerge(&$arr1, &$arr2){

foreach($arr1 as $k1 => &$v1){

foreach($arr2 as $k2 => &$v2){

if( $k1 === $k2 ){

if( is_array($v1) && is_array($v2) ){

$v1 = static::arrayMerge($v1, $v2);

}else{

$v1 = $v2;

}

}

}

}

return $arr1 = array_merge($arr1, array_diff_key($arr2, $arr1));

}

php数组合并多维,PHP合并多维数组相关推荐

  1. php 二维数组字段合并,PHP将二维数组某一个字段相同的数组合并起来的方法,二维数组数组_PHP教程...

    PHP将二维数组某一个字段相同的数组合并起来的方法,二维数组数组 本文实例讲述了PHP将二维数组某一个字段相同的数组合并起来的方法.分享给大家供大家参考,具体如下: 例子: array(3) { [0 ...

  2. php数组分开_PHP学习之五:数组(三)合并、拆分、接合和分解数组

    一.合并.拆分.接合和分解数组 1.合并数组 array_merge() 函数将数组合并在一起,返回一个新数组. $a = array("a","b",&quo ...

  3. es6 数组合并_13个不low的JS数组操作,你需要知道一下

    作者 | 火狼1来源 | https://juejin.im/post/5c92e385e51d450ce11df1d1 前言 本文主要从应用来讲数组api的一些骚操作:如一行代码扁平化n维数组.数组 ...

  4. java:合并两个排序的整数数组A和B变成一个新的数组。新数组也要有序。

    合并两个排序的整数数组A和B变成一个新的数组.新数组也要有序. 样例 1:输入: A=[1], B=[1]输出:[1,1]样例解释: 返回合并后的数组.样例 2:输入: A=[1,2,3,4], B= ...

  5. 实现微信小程序和支付宝小程序二维码合并

    实现微信小程序和支付宝小程序二维码合并,这样用户就可以通过同一个二维码进入微信或者支付宝啦 1.需要准备可以通过公网访问的服务器 2.微信小程序 打开微信小程序后台->开发(左边)->开发 ...

  6. php 合并数组对象,JS内数组合并方法与对象合并实现步骤详解

    这次给大家带来JS内数组合并方法与对象合并实现步骤详解,JS内数组合并方法与对象合并实现的注意事项有哪些,下面就是实战案例,一起来看一下. 1 数组合并 1.1 concat 方法var a=[1,2 ...

  7. php数组拆分的函数是,php基础之数组的合并、拆分、区别取值函数集

    PHP数组的合并.拆分.区别取值函数集 都说PHP的数组功能很强大.只有真正用于项目工作当中才能够感受得到,至少我认为是,现在已慢慢的发觉其中的奥秘了-- 合并数组有三个函数: 1.array_com ...

  8. Python给定两个有序整数数组nums1和nums2,合并nums1和nums2为数组nums1

    给定两个有序整数数组nums1和nums2,合并nums1和nums2为数组nums1, 注意: 数组nums1和nums2初始化元素个数分别为m和n 假设num1有足够空间(长度超过m+n或与其相等 ...

  9. Golang 数组的简单操作之合并数组与删除某个索引的值

    Golang 数组的简单操作之合并数组与删除某个索引的值 Golang轻松学习 文章目录 Golang 数组的简单操作之合并数组与删除某个索引的值 一.接口数组([]interface{})是什么? ...

最新文章

  1. 1141. PAT Ranking of Institutions (25)
  2. 如何查看某个端口被哪个进程占用
  3. 学习opengl(起步)
  4. Reservoir Computing: Harnessing a Universal Dynamical System
  5. 为WebBrowser的WEB页的Document注册事件的问题
  6. 10-30-010-安全简介-Kafka 安全机制
  7. 搭建SpringMVC
  8. 网络编程-----网络通信协议
  9. animate将flash转换html,Animate—flash动画入门到精通教程
  10. Php打印连续纸,针式打印机打印241*297MM连续纸时总按A4纸长度多走一部分白纸?
  11. 服务器蓝屏的原因及解决办法
  12. Rasa 聊天机器人Rasa_NLU_Chi
  13. 教师计算机提升工程培训心得,教师信息技术应用能力提升培训心得体会3篇
  14. java 导出word 含表格_poi 导出word,导出表格(复杂表格合并行列)解决方法
  15. AndroidShortcuts
  16. 使用Win7 PE安装Win 7原版系统图解
  17. 忘记PPT密码怎么办?附解决办法
  18. 汉王 PDF OCR
  19. xlwings写入一列数据
  20. 微信小程序学习4:小程序语法 - 事件绑定

热门文章

  1. Excel保护怎么解除保护
  2. 手机APP开发:学JAVA转安卓APP开发是不是很容易?
  3. matlab求系统状态时间响应,MATLAB求解系统零状态响应可以调用( )函数。
  4. 免费个人网站制作离不开参考
  5. python批量读取图片处理并保存
  6. 最小二乘解(Least-squares Minimization )
  7. 2021年R1快开门式压力容器操作考试题及R1快开门式压力容器操作模拟考试
  8. 2022起重机械指挥考试练习题及模拟考试
  9. python提取内容保存excel_Python操作Excel之数据提取
  10. node.js + express + mysql 简单运用