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入门小知识
Mar 24 PHP
PHP 模拟$_PUT实现代码
Mar 15 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
Oct 16 PHP
PHP四舍五入精确小数位及取整
Jan 14 PHP
php命名空间学习详解
Feb 27 PHP
利用PHP将部分内容用星号替换
Apr 21 PHP
smarty学习笔记之常见代码段用法总结
Mar 19 PHP
PHP环境搭建的详细步骤
Jun 30 PHP
php抛出异常与捕捉特定类型的异常详解
Oct 26 PHP
Laravel学习教程之IOC容器的介绍与用例
Aug 15 PHP
php 获取xml接口数据的处理方法
May 31 PHP
PHP中quotemeta()函数的用法讲解
Apr 04 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
TopList标签和JavaScript结合两例
2007/08/12 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
javascript 构造函数强制调用经验总结
2012/12/02 Javascript
解析javascript 浏览器关闭事件
2013/07/08 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
JS 页面计时器示例代码
2013/10/28 Javascript
js中reverse函数的用法详解
2013/12/26 Javascript
Javascript 多物体运动的实现
2014/12/24 Javascript
JavaScript自定义数组排序方法
2015/02/12 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
详解js模板引擎art template数组渲染的方法
2018/10/09 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
使用JS实现动态时钟
2020/03/12 Javascript
vue使用better-scroll实现滑动以及左右联动
2020/06/30 Javascript
返回上一个url并刷新界面的js代码
2020/09/12 Javascript
[50:54]完美世界DOTA2联赛 GXR vs IO 第三场 11.07
2020/11/10 DOTA
浅谈Python单向链表的实现
2015/12/24 Python
Python实现的从右到左字符串替换方法示例
2018/07/06 Python
Linux下多个Python版本安装教程
2018/08/15 Python
python导入模块交叉引用的方法
2019/01/19 Python
python3实现表白神器
2019/04/09 Python
把django中admin后台界面的英文修改为中文显示的方法
2019/07/26 Python
使用python处理题库表格并转化为word形式的实现
2020/04/14 Python
Python-opencv实现红绿两色识别操作
2020/06/04 Python
keras的三种模型实现与区别说明
2020/07/03 Python
python 数据类型强制转换的总结
2021/01/25 Python
高级文秘工作总结的自我评价
2013/09/28 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
北京奥运会主题口号
2014/06/13 职场文书
2014学习优秀共产党员先进事迹思想汇报
2014/09/14 职场文书
四年级小学生评语
2014/12/26 职场文书
高中教师个人工作总结
2015/02/10 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书
sqlserver2017共享功能目录路径不可改的解决方法
2021/04/16 SQL Server
详解Java实践之适配器模式
2021/06/18 Java/Android