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 相关文章推荐
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
Nov 18 PHP
Php获取金书网的书名的实现代码
Jun 11 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
Dec 29 PHP
PHP中使用gettext来支持多语言的方法
May 02 PHP
PHP垃圾回收机制引用计数器概念分析
Jun 24 PHP
PHP入门之常量简介和系统常量
May 12 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
Nov 03 PHP
php简单实现数组分页的方法
Apr 30 PHP
基于PHP实现用户注册登录功能
Oct 14 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
May 23 PHP
PHP连接MySQL数据库操作代码实例解析
Jul 11 PHP
PHP替换Word中变量并导出PDF图片的实现方法
Nov 26 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/04/03 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
强制设为首页代码
2006/06/19 Javascript
jquery $.each() 使用小探
2013/08/23 Javascript
HTML页面登录时的JS验证方法
2014/05/28 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
2015/05/09 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
基于jquery实现省市区三级联动效果
2015/12/25 Javascript
javascript代码调试之console.log 用法图文详解
2016/09/30 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
2018/09/25 Javascript
利用d3.js力导布局绘制资源拓扑图实例教程
2019/01/08 Javascript
jquery实现的分页显示功能示例
2019/08/23 jQuery
Vue数字输入框组件示例代码详解
2020/01/15 Javascript
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
Python数据分析之双色球中蓝红球分析统计示例
2018/02/03 Python
python 找出list中最大或者最小几个数的索引方法
2018/10/30 Python
linux安装python修改默认python版本方法
2019/03/31 Python
python爬虫实现中英翻译词典
2019/06/25 Python
Python中的引用和拷贝实例解析
2019/11/14 Python
python 实现多维数组转向量
2019/11/30 Python
python3代码中实现加法重载的实例
2020/12/03 Python
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
html table呈现个人简历以及单元格宽度失效的问题解决
2021/01/22 HTML / CSS
整个世界的设计师家具在哈恩:Designathome
2019/03/25 全球购物
Diptyque英国官方网站:源自法国的知名香氛品牌
2019/08/28 全球购物
风险评估实施方案
2014/03/09 职场文书
副董事长岗位职责
2014/04/02 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
党员干部廉洁自律承诺书
2015/04/28 职场文书
护士2015年终工作总结
2015/04/29 职场文书
基石观后感
2015/06/12 职场文书
学籍证明模板
2015/06/18 职场文书
信用卡工资证明范本
2015/06/19 职场文书