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 相关文章推荐
VFP与其他应用程序的集成
Oct 09 PHP
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
Oct 22 PHP
php中使用Curl、socket、file_get_contents三种方法POST提交数据
Aug 12 PHP
浅析is_writable的php实现
Jun 18 PHP
AJAX的跨域访问-两种有效的解决方法介绍
Jun 22 PHP
php jq jquery getJSON跨域提交数据完整版
Sep 13 PHP
php中count获取多维数组长度的方法
Nov 03 PHP
PHP制作万年历
Jan 07 PHP
php 数组字符串搜索array_search技巧
Jul 05 PHP
PHP对象实例化单例方法
Jan 19 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
Jul 10 PHP
php的无刷新操作实现方法分析
Feb 28 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
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
2007/01/29 PHP
.htaccess文件保护实例讲解
2011/02/06 PHP
php5.3不能连接mssql数据库的解决方法
2014/12/27 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
Ubuntu上安装yaf扩展的方法
2018/01/29 PHP
Laravel模型事件的实现原理详解
2018/03/14 PHP
jquery中ajax学习笔记4
2011/10/16 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
详解angular中通过$location获取路径(参数)的写法
2017/03/21 Javascript
详解a++和++a的区别
2017/08/30 Javascript
在vue中封装可复用的组件方法
2018/03/01 Javascript
vue2.0 根据状态值进行样式的改变展示方法
2018/03/13 Javascript
vue-cli 首屏加载优化问题
2018/11/06 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
javascript面向对象三大特征之多态实例详解
2019/07/24 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
vue 使用post/get 下载导出文件操作
2020/08/07 Javascript
[47:38]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
Python操作列表的常用方法分享
2014/02/13 Python
Python性能优化技巧
2015/03/09 Python
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
2015/03/30 Python
利用python批量给云主机配置安全组的方法教程
2017/06/21 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
2019/08/05 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
python代码实现图书管理系统
2020/11/30 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
《美丽的田园》教学反思
2014/03/01 职场文书
私人会所最新创业计划书范文
2014/03/24 职场文书
林肯就职演讲稿
2014/05/19 职场文书
任命书怎么写
2014/06/04 职场文书
教师批评与自我批评心得体会
2014/10/16 职场文书