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 相关文章推荐
dedecms防止FCK乱格式化你的代码的修改方法
Mar 17 PHP
PHP学习笔记之二 php入门知识
Jan 12 PHP
php中在PDO中使用事务(Transaction)
May 14 PHP
深入了解PHP类Class的概念
Jun 14 PHP
php5.5中类级别的常量使用介绍
Oct 02 PHP
生成随机字符串和验证码的类的PHP实例
Dec 24 PHP
php通过ajax实现双击table修改内容
Apr 28 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
Aug 25 PHP
使用php-timeit估计php函数的执行时间
Sep 06 PHP
简单介绍PHP非阻塞模式
Mar 03 PHP
php抽象方法和抽象类实例分析
Dec 07 PHP
浅谈php中fopen不能创建中文文件名文件的问题
Feb 06 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利用iframe实现无刷新文件上传功能的代码
2011/09/29 PHP
php生成缩略图填充白边(等比缩略图方案)
2013/12/25 PHP
php使用memcoder将视频转成mp4格式的方法
2015/03/12 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
Yii框架日志记录Logging操作示例
2018/07/12 PHP
PHP实现的CURL非阻塞调用类
2018/07/26 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
点击按钮自动加关注的代码(sina微博/QQ空间/人人网/腾讯微博)
2014/01/02 Javascript
JS不能跨域借助jquery获取IP地址的方法
2014/08/20 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
jQuery.Callbacks()回调函数队列用法详解
2016/06/14 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
2016/12/13 Javascript
js实现表格筛选功能
2017/01/18 Javascript
vue中的event bus非父子组件通信解析
2017/10/27 Javascript
Vuex 入门教程
2018/01/10 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
2018/03/26 Javascript
layui问题之模拟select点击事件的实例讲解
2018/08/15 Javascript
Vue动态获取width的方法
2018/08/22 Javascript
echarts实现词云自定义形状的示例代码
2019/02/20 Javascript
用Python编写脚本使IE实现代理上网的教程
2015/04/23 Python
django基础之数据库操作方法(详解)
2017/05/24 Python
Android分包MultiDex策略详解
2017/10/30 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
Python数据可视化:泊松分布详解
2019/12/07 Python
Python如何在单元测试中给对象打补丁
2020/08/03 Python
Python classmethod装饰器原理及用法解析
2020/10/17 Python
python爬虫基础之urllib的使用
2020/12/31 Python
Farfetch香港官网:汇集全球时尚奢侈品购物平台
2017/11/26 全球购物
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
沃尔玛旗下墨西哥超市:Bodega Aurrera
2020/11/13 全球购物
生产内勤岗位职责
2013/12/07 职场文书
火锅店创业计划书范文
2014/02/02 职场文书
群众路线教师自我剖析材料
2014/09/29 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书
与Windows10相比Windows11有哪些改进?值不值得升级?
2021/11/21 数码科技