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使用数组实现队列
Feb 05 PHP
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
Jan 19 PHP
ThinkPHP字符串函数及常用函数汇总
Jul 18 PHP
PHP中的reflection反射机制测试例子
Aug 05 PHP
php数组键名技巧小结
Feb 17 PHP
php商品对比功能代码分享
Sep 24 PHP
php经典算法集锦
Nov 14 PHP
PHP微信公众号自动发送红包API
Jun 01 PHP
PHP手机号中间四位用星号*代替显示的实例
Jun 02 PHP
PHP 实现页面静态化的几种方法
Jul 23 PHP
php 删除指定文件夹的实例讲解
Jul 25 PHP
Laravel使用模型实现like模糊查询的例子
Oct 24 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
PHP5.0正式发布 不完全兼容PHP4 新增多项功能
2006/10/09 PHP
PHP 柱状图实现代码
2009/12/04 PHP
PHPMailer邮件发送的实现代码
2013/05/04 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
2013/07/18 PHP
迁移PHP版本到PHP7
2015/02/06 PHP
PHP实现原比例生成缩略图的方法
2016/02/03 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
javascript 异常处理使用总结
2009/06/21 Javascript
基于JQuery 的消息提示框效果代码
2011/07/31 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
2015/04/15 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
2016/10/13 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
原生js实现手风琴功能(支持横纵向调用)
2017/01/13 Javascript
AngularJS Select(选择框)使用详解
2017/01/18 Javascript
利用yarn代替npm管理前端项目模块依赖的方法详解
2017/09/04 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
Js中使用正则表达式验证输入是否有特殊字符
2018/09/07 Javascript
解决vuecli3.0热更新失效的问题
2018/09/19 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
vue element 中的table动态渲染实现(动态表头)
2019/11/21 Javascript
Python中使用haystack实现django全文检索搜索引擎功能
2017/08/26 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
django多种支付、并发订单处理实例代码
2019/12/13 Python
python sorted函数原理解析及练习
2020/02/10 Python
使用Django实现把两个模型类的数据聚合在一起
2020/03/28 Python
Anaconda的安装及其环境变量的配置详解
2020/04/22 Python
const和static readonly区别
2013/05/20 面试题
毕业生找工作的求职信范文
2013/12/24 职场文书
电气工程和自动化自荐信范文
2013/12/25 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
六年级语文下册教学计划
2015/01/22 职场文书
工作检讨书大全
2015/01/26 职场文书
【海涛dota解说】海涛小满开黑4v5被破两路翻盘潮汐第一视角解说
2022/04/01 DOTA