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小技巧搜集,每个PHPer都来露一手
Jan 02 PHP
php获取地址栏信息的代码
Oct 08 PHP
PHP zlib扩展实现页面GZIP压缩输出
Jun 17 PHP
PHPCMS的使用小结
Sep 20 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
Jun 17 PHP
PHP常用编译参数中文说明
Sep 27 PHP
php单文件版在线代码编辑器
Mar 12 PHP
golang与PHP输出excel示例
Jul 22 PHP
如何直接访问php实例对象中的private属性详解
Oct 12 PHP
php基于Redis消息队列实现的消息推送的方法
Nov 28 PHP
thinkPHP+LayUI 流加载实现功能
Sep 27 PHP
php优化查询foreach代码实例讲解
Mar 24 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 删除记录同时删除图片文件的实现代码
2010/05/12 PHP
PHP时间类完整实例(非常实用)
2015/12/25 PHP
php json_encode与json_decode详解及实例
2016/12/13 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
2020/05/02 PHP
JS小框架 fly javascript framework
2009/11/26 Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
2014/01/25 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
jQuery的bind()方法使用详解
2015/07/15 Javascript
javascript实现超炫的向上滑行菜单实例
2015/08/03 Javascript
javascript中的3种继承实现方法
2016/01/27 Javascript
微信小程序表单弹窗实例
2018/07/19 Javascript
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
深入理解Vue keep-alive及实践总结
2019/08/21 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
使用Python3制作TCP端口扫描器
2017/04/17 Python
在Django中实现添加user到group并查看
2019/11/18 Python
Python字符串格式化输出代码实例
2019/11/22 Python
深入了解Python 变量作用域
2020/07/24 Python
【HTML5】Canvas绘制简单图片教程
2016/05/13 HTML / CSS
Roots加拿大官网:加拿大休闲服饰品牌
2016/10/24 全球购物
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
办公室文秘自我评价
2013/09/21 职场文书
秸秆管理实施方案
2014/03/15 职场文书
难忘的一天教学反思
2014/04/30 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
2014年工人工作总结
2014/11/25 职场文书
汇报材料怎么写
2014/12/30 职场文书
2015年药店工作总结
2015/04/20 职场文书
2015年世界急救日宣传活动方案
2015/05/06 职场文书
2015年小学二年级班主任工作总结
2015/05/21 职场文书
2015年高校教师个人工作总结
2015/05/25 职场文书
经典祝酒词大全
2015/08/12 职场文书
关于践行三严三实的心得体会
2016/01/05 职场文书
2016社区平安家庭事迹材料
2016/02/26 职场文书
使用PDF.js渲染canvas实现预览pdf的效果示例
2021/04/17 Javascript