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的日期与时间函数技巧
Apr 24 PHP
C# Assembly类访问程序集信息
Jun 13 PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 PHP
关于shopex同步ucenter的redirect问题,导致script不运行
Apr 10 PHP
thinkphp文件处理类Dir.class.php的用法分析
Dec 08 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
Jan 22 PHP
新浪SAE搭建PHP项目教程
Jan 28 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
Oct 19 PHP
php实现的rc4加密解密类定义与用法示例
Aug 16 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
laravel 实现设置时区的简单方法
Oct 10 PHP
WordPress伪静态规则设置代码实例
Dec 10 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为字符串前后添加指定数量字符的方法
2015/05/04 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
php求今天、昨天、明天时间戳的简单实现方法
2016/07/28 PHP
laravel框架使用极光推送消息操作示例
2020/02/15 PHP
QQ登录简单实现代码
2021/03/09 Javascript
artdialog的图片/标题以及关闭按钮不显示的解决方法
2013/06/27 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
JavaScript通过join函数连接数组里所有元素的方法
2015/03/20 Javascript
Vue表单实例代码
2016/09/05 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
利用Vue实现移动端图片轮播组件的方法实例
2017/08/23 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
对layui中的onevent 和event的使用详解
2019/09/06 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
如何利用vue实现波谱拟合详解
2020/11/05 Javascript
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
[01:14]DOTA2 7.22版本新增神杖效果展示(智力英雄篇)
2019/05/29 DOTA
Python多线程编程(一):threading模块综述
2015/04/05 Python
在Python中使用SQLite的简单教程
2015/04/29 Python
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
python 堆和优先队列的使用详解
2019/03/05 Python
梅尔倒谱系数(MFCC)实现
2019/06/19 Python
python基于paramiko将文件上传到服务器代码实现
2019/07/08 Python
python中自带的三个装饰器的实现
2019/11/08 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
2020/06/24 Python
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
TecoBuy澳大利亚:在线电子和小工具商店
2020/06/25 全球购物
C#面试题问题集
2016/04/02 面试题
小学生感恩演讲稿
2014/04/25 职场文书
2014党员整改措施思想汇报
2014/10/07 职场文书
辩护词范文大全
2015/05/21 职场文书
教师节大会主持词
2015/07/06 职场文书
读完《骆驼祥子》的观后感!
2019/07/05 职场文书
Python 语言实现六大查找算法
2021/06/30 Python
react中的DOM操作实现
2021/06/30 Javascript
Python面向对象编程之类的概念
2021/11/01 Python