php中用加号与用array_merge合并数组的区别深入分析


Posted in PHP onJune 03, 2013

我们首先给出两个数组

    <?php  
     $r = array(1,2,3,4,5,6);  
     $e = array(7,8,9,10);  
    ?> 

下面我们用array_merge和加号来何必这两数组
    <?php  
    print_r($r+e); // 输出<span style="font-family: Simsun;font-size:16px; ">Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 ) </span>  
    print "<br />";  
    print_r(array_merge($r,$e)); // 输出<span style="font-family: Simsun;font-size:16px; ">Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )</span>  
    ?> 

从这里可以看出,用array_merge合并数组一个数组中的值附加在前一个数组的后面。返回作为结果的数组如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。 然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉
下面我们来改变下前面给出的数组
    <?php  
     $r = array('r'=>1,2,3,4,5,6);  
     $e = array(<span style="background-color: rgb(245, 250, 255); ">'r'=></span>7,8,9,10);  
    ?> 

    <?php  
    print_r($r+e); // 输出Array ( [r] => 1 [0] => 2 [1] => 3 [2] => 4 [3] => 5 [4] => 6 )  
    print "<br />";  
    print_r(array_merge($r,$e)); // 输出Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )  
    ?> 

从这里可以看出,用array_merge合并数组一个数组中的值附加在前一个数组的后面。如果非数字键名相同,则后面数组的值会覆盖前面数组的值。 然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉
PHP 相关文章推荐
提升PHP执行速度全攻略(下)
Oct 09 PHP
如何跨站抓取别的站点的页面的补充
Oct 09 PHP
mysql5写入和读出乱码解决
Nov 25 PHP
PHP性能优化 产生高度优化代码
Jul 22 PHP
JpGraph php柱状图使用介绍
Aug 23 PHP
php多维数组去掉重复值示例分享
Mar 02 PHP
PHP常用技术文之文件操作和目录操作总结
Sep 27 PHP
PHP的APC模块实现上传进度条
Oct 27 PHP
php基于curl重写file_get_contents函数实例
Nov 08 PHP
PHP生成图片缩略图类示例
Jan 12 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
Jan 29 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
PHP在线生成二维码代码(google api)
Jun 03 #PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
Jun 03 #PHP
深入php-fpm的两种进程管理模式详解
Jun 03 #PHP
PHP 异步执行方法,模拟多线程的应用分析
Jun 03 #PHP
基于PHP异步执行的常用方式详解
Jun 03 #PHP
php生成二维码的几种方式整理及使用实例
Jun 03 #PHP
深入PHP异步执行的详解
Jun 03 #PHP
You might like
关于PHP的相似度计算函数:levenshtein的使用介绍
2013/04/15 PHP
php判断当前用户已在别处登录的方法
2015/01/06 PHP
PHP __call()方法实现委托示例
2019/05/20 PHP
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
JavaScript中双叹号(!!)作用示例介绍
2014/04/10 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
javascript实现3D变换的立体圆圈实例
2015/08/06 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
2016/03/14 Javascript
javascript中错误使用var造成undefined
2016/03/31 Javascript
深入理解node exports和module.exports区别
2016/06/01 Javascript
jQuery判断是否存在滚动条的简单方法
2016/09/17 Javascript
Javascript自定义事件详解
2017/01/13 Javascript
vue之数据交互实例代码
2017/06/20 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
webpack打包node.js后端项目的方法
2018/03/10 Javascript
[01:14:55]EG vs Spirit Supermajor 败者组 BO3 第三场 6.4
2018/06/05 DOTA
Python实现端口复用实例代码
2014/07/03 Python
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
浅谈python装饰器探究与参数的领取
2017/12/01 Python
Django项目中包含多个应用时对url的配置方法
2018/05/30 Python
Python Dataframe 指定多列去重、求差集的方法
2018/07/10 Python
用Python实现筛选文件脚本的方法
2018/10/27 Python
python实现批处理文件
2020/07/28 Python
应届大学毕业生找工作的求职信范文
2013/11/29 职场文书
安全教育实施方案
2014/03/02 职场文书
2015年农村党员干部主题教育活动总结
2015/03/25 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
十七岁的单车观后感
2015/06/12 职场文书
开业典礼致辞
2015/07/29 职场文书
学习计划是什么
2019/04/30 职场文书
低门槛开发iOS、Android、小程序应用的前端框架详解
2021/10/16 Javascript
台积电称即便经济低迷也没有降价的计划
2022/04/21 数码科技