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生成月历代码
Jun 14 PHP
php Ajax乱码
Apr 09 PHP
php 常用类整理
Dec 23 PHP
PHP企业级应用之常见缓存技术篇
Jan 27 PHP
PHP中几个常用的魔术常量
Feb 23 PHP
深入解析php之apc
May 15 PHP
php 过滤英文标点符号及过滤中文标点符号代码
Jun 12 PHP
详谈PHP文件目录基础操作
Nov 11 PHP
php获取远程文件的内容和大小
Nov 03 PHP
php使用crypt()函数进行加密
Jun 08 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
Nov 20 PHP
PHP中define() 与 const定义常量的区别详解
Jun 25 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
php获取数组元素中头一个数组元素值的实现方法
2014/12/20 PHP
PHP输入输出流学习笔记
2015/05/12 PHP
使用纯php代码实现页面伪静态的方法
2015/07/25 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
javascript中match函数的用法小结
2014/02/08 Javascript
js操作模态窗口及父子窗口间相互传值示例
2014/06/09 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
ECMAScript6快速入手攻略
2016/07/18 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
详解AngularJS1.x学习directive 中‘& ’‘=’ ‘@’符号的区别使用
2017/08/23 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
利用nodeJs anywhere搭建本地服务器环境的方法
2018/05/12 NodeJs
基于vue-upload-component封装一个图片上传组件的示例
2018/10/16 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
在vue中使用vuex,修改state的值示例
2019/11/08 Javascript
JS 数组基本用法入门示例解析
2020/01/16 Javascript
通过实例解析JavaScript常用排序算法
2020/09/02 Javascript
[03:48]DOTA2完美大师赛主赛事第二日精彩集锦
2017/11/24 DOTA
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
python基本语法练习实例
2017/09/19 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
DRF跨域后端解决之django-cors-headers的使用
2019/01/27 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
django 获取字段最大值,最新的记录操作
2020/08/09 Python
大码女装:Ulla Popken
2019/08/06 全球购物
运动会广播稿300字
2014/01/10 职场文书
哈弗商学院毕业生求职信
2014/02/26 职场文书
小学毕业寄语大全
2014/04/03 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
民政局2016年“六一”儿童节慰问活动总结
2016/04/06 职场文书