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中在数据库中保存Checkbox数据(2)
Oct 09 PHP
Discuz Uchome ajaxpost小技巧
Jan 04 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
Mar 06 PHP
PHP 透明水印生成代码
Aug 27 PHP
zend framework文件上传功能实例代码
Dec 25 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
Aug 06 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
Jan 18 PHP
微信自定义分享php代码分析
Nov 24 PHP
PHP 二维关联数组根据其中一个字段排序(推荐)
Apr 04 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
Jun 06 PHP
PHP清除缓存的几种方法总结
Sep 12 PHP
laravel 去掉index.php伪静态的操作方法
Oct 12 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
基于xcache的配置与使用详解
2013/06/18 PHP
destoon官方标签大全
2014/06/20 PHP
简单谈谈PHP中的trait
2017/02/25 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
jquery Ajax 实现加载数据前动画效果的示例代码
2014/02/07 Javascript
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
Javascript基础教程之argument 详解
2015/01/18 Javascript
js代码实现随机颜色的小方块
2015/07/30 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
JavaScript的面向对象编程基础
2015/08/13 Javascript
JS动态加载脚本并执行回调操作
2016/08/24 Javascript
浅谈js内置对象Math的属性和方法(推荐)
2016/09/19 Javascript
Jquery把获取到的input值转换成json
2017/05/15 jQuery
p5.js入门教程之小球动画示例代码
2018/03/15 Javascript
详解Django之auth模块(用户认证)
2018/04/17 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
python skimage 连通性区域检测方法
2018/06/21 Python
numpy数组广播的机制
2019/07/12 Python
python2使用bs4爬取腾讯社招过程解析
2019/08/14 Python
基于python实现雪花算法过程详解
2019/11/16 Python
python 实现视频 图像帧提取
2019/12/10 Python
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
python圣诞树编写实例详解
2020/02/13 Python
DjangoWeb使用Datatable进行后端分页的实现
2020/05/18 Python
Born鞋子官网:Born Shoes
2017/04/06 全球购物
西班牙床垫网上商店:Colchones.es
2018/05/06 全球购物
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
微型企业创业投资计划书
2014/01/10 职场文书
护士自我介绍信
2014/01/13 职场文书
社会实践评语
2014/04/28 职场文书
信用卡工资证明格式
2014/09/13 职场文书
初任公务员培训心得体会
2016/01/08 职场文书
SpringBoot 集成Redis 过程
2021/06/02 Redis