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 相关文章推荐
修改Zend引擎实现PHP源码加密的原理及实践
Apr 14 PHP
php 在线打包_支持子目录
Jun 28 PHP
一步一步学习PHP(4) php 函数 补充2
Feb 15 PHP
关于使用key/value数据库redis和TTSERVER的心得体会
Jun 28 PHP
php使用正则表达式进行字符串搜索的方法
Mar 23 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 PHP
简介PHP的Yii框架中缓存的一些高级用法
Mar 29 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
Jun 30 PHP
PHP使用数组实现矩阵数学运算的方法示例
May 29 PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 PHP
PHP中检查isset()和!empty()函数的必要性
Feb 13 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
Oct 30 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
phpQuery让php处理html代码像jQuery一样方便
2015/01/06 PHP
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
js鼠标滑过弹出层的定位IE6bug解决办法
2012/12/26 Javascript
jQuery 获取和设置select下拉框的值实现代码
2013/11/08 Javascript
Jquery实现自定义弹窗示例
2014/03/12 Javascript
javascript框架设计读书笔记之种子模块
2014/12/02 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
拥Bootstrap入怀——导航栏篇
2016/05/30 Javascript
Vue.js常用指令的使用小结
2017/06/23 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
vue2.0路由切换后页面滚动位置不变BUG的解决方法
2018/03/14 Javascript
java实现单链表增删改查的实例代码详解
2019/08/30 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
Python实现对象转换为xml的方法示例
2017/06/08 Python
[原创]教女朋友学Python(一)运行环境搭建
2017/11/29 Python
让你的Python代码实现类型提示功能
2019/11/19 Python
Python如何在main中调用函数内的函数方式
2020/06/01 Python
Python json格式化打印实现过程解析
2020/07/21 Python
韩国休闲女装品牌网站:ANAIS
2016/08/24 全球购物
TripAdvisor越南:全球领先的旅游网站
2017/09/21 全球购物
Java平台和其他软件平台有什么不同
2015/06/05 面试题
是否有自动比较结构的方法
2015/06/03 面试题
C#中有没有静态构造函数,如果有是做什么用的?
2016/06/04 面试题
搬家公司的创业计划书
2014/01/01 职场文书
毕业自我鉴定书
2014/03/24 职场文书
工地标语大全
2014/06/18 职场文书
考研英语复习计划
2015/01/19 职场文书
员工辞职信怎么写
2015/02/27 职场文书
大学生团日活动总结
2015/05/06 职场文书
2015年市场营销工作总结
2015/07/23 职场文书
新学期开学寄语2016
2015/12/04 职场文书
《司马光》教学反思
2016/02/22 职场文书
解决MySQL Varchar 类型尾部空格的问题
2022/04/06 MySQL