PHP合并数组+号和array_merge的区别


Posted in PHP onJune 25, 2015

PHP的数组融合一般有两种做法,一种是直接使用加号相加,另一种则是使用array_merge函数进行相加,两者之间有点区别:

1.相加会证数组中的自然index不被重置
2.相加方法中,被加的数组内的值不会被覆盖
3.merge函数中的自然index会被重置
4.merge函数,无所谓被merge和merge关系,越后面的array参数,其值,会覆盖较前面的array参数相同键的值

例子:

数组1:

$arr1 = array(
  10 => 'valueof10',
  11 => 'valueof11',
  'key1' => 'dataofkey1',
  'key2' => 'dataofkey2',
  'array' => array(
    'key1' => 1,
    'key2' => 'abc',
    'key3' => array(
      1, 2, 'name' => 'peter'
    ),
  ),
);

数组2:

$arr2 = array(
  10 => 'newvalueof10',
  11 => 'newvalueof11',
  'key1' => 'newdataofkey1',
  'key3' => 'newdataofkey3',
  'array' => array(
    'key1' => 2,
    'key2' => 'defg',
    'key3' => array(
      1, 2, 'name' => 'jonathan', 'gender' => 'male'
    ),
  ),
);

结果比较:

array (size=6)
 10 => string 'valueof10' (length=9)
 11 => string 'valueof11' (length=9)
 'key1' => string 'dataofkey1' (length=10)
 'key2' => string 'dataofkey2' (length=10)
 'array' => 
  array (size=3)
   'key1' => int 1
   'key2' => string 'abc' (length=3)
   'key3' => 
    array (size=3)
     0 => int 1
     1 => int 2
     'name' => string 'peter' (length=5)
 'key3' => string 'newdataofkey3' (length=13)
 
array (size=8)
 0 => string 'valueof10' (length=9)
 1 => string 'valueof11' (length=9)
 'key1' => string 'newdataofkey1' (length=13)
 'key2' => string 'dataofkey2' (length=10)
 'array' => 
  array (size=3)
   'key1' => int 2
   'key2' => string 'defg' (length=4)
   'key3' => 
    array (size=4)
     0 => int 1
     1 => int 2
     'name' => string 'jonathan' (length=8)
     'gender' => string 'male' (length=4)
 2 => string 'newvalueof10' (length=12)
 3 => string 'newvalueof11' (length=12)
 'key3' => string 'newdataofkey3' (length=13)
PHP 相关文章推荐
用Php实现链结人气统计
Oct 09 PHP
杏林同学录(八)
Oct 09 PHP
在windows iis5下安装php4.0+mysql之我见
Oct 09 PHP
相对路径转化成绝对路径
Apr 10 PHP
php下获取客户端ip地址的函数
Mar 15 PHP
php导出csv格式数据并将数字转换成文本的思路以及代码分享
Jun 05 PHP
PHP实现格式化文件数据大小显示的方法
Jan 03 PHP
php计算函数执行时间的方法
Mar 20 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
Nov 17 PHP
PHP面向对象程序设计OOP继承用法入门示例
Dec 27 PHP
PHP实现的常规正则验证helper公共类完整实例
Apr 27 PHP
Mac下关于PHP环境和扩展的安装详解
Oct 17 PHP
PHP数组与对象之间使用递归实现转换的方法
Jun 24 #PHP
php计算多维数组中所有值总和的方法
Jun 24 #PHP
jquery获取多个checkbox的值异步提交给php的方法
Jun 24 #PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
Jun 24 #PHP
php异常处理方法实例汇总
Jun 24 #PHP
php数组索引与键值操作技巧实例分析
Jun 24 #PHP
PHP实现在线阅读PDF文件的方法
Jun 23 #PHP
You might like
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
PHP发送AT指令实例代码
2016/05/26 PHP
Yii2.0中使用js异步删除示例
2017/03/10 PHP
JavaScript实现快速排序(自已编写)
2012/12/19 Javascript
使用JS 清空File控件的路径值
2013/07/08 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
2015/12/24 Javascript
使用javascript插入样式
2016/03/14 Javascript
使用jQuery实现Web页面换肤功能的要点解析
2016/05/12 Javascript
javascript 解决浏览器不支持的问题
2016/09/24 Javascript
JS一个简单的注册页面实例
2017/09/05 Javascript
vue组件jsx语法的具体使用
2018/05/21 Javascript
微信小程序自定义prompt组件步骤详解
2018/06/12 Javascript
浅谈Vuex注入Vue生命周期的过程
2019/05/20 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
生成无限制的微信小程序码的示例代码
2019/09/20 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
Python实现的Kmeans++算法实例
2014/04/26 Python
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
python搭建虚拟环境的步骤详解
2016/09/27 Python
局域网内python socket实现windows与linux间的消息传送
2019/04/19 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
postman传递当前时间戳实例详解
2019/09/14 Python
Pytorch释放显存占用方式
2020/01/13 Python
python使用Geany编辑器配置方法
2020/02/21 Python
纯css3实现鼠标经过图片显示描述的动画效果
2014/09/01 HTML / CSS
期末考试动员演讲稿
2014/01/10 职场文书
情人节活动策划方案
2014/02/27 职场文书
西式婚礼主持词
2014/03/13 职场文书
职工小家建设活动方案
2014/08/25 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
幼儿园毕业典礼家长致辞
2015/07/29 职场文书
CSS 使用 resize 实现图片拖拽切换预览功能(强大功能)
2021/08/23 HTML / CSS
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技