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 相关文章推荐
打造计数器DIY三步曲(下)
Oct 09 PHP
建立文件交换功能的脚本(二)
Oct 09 PHP
使用eAccelerator加密PHP程序
Oct 03 PHP
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
May 04 PHP
基于empty函数的输出详解
Jun 17 PHP
Drupal7连接多个数据库及常见问题解决
Mar 02 PHP
ThinkPHP使用smarty模板引擎的方法
Jul 01 PHP
php中的字符编码转换函数用法示例
Oct 20 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
Mar 28 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
Laravel 实现数据软删除功能
Aug 21 PHP
tp5框架使用cookie加密算法实现登录功能示例
Feb 10 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伪静态页面函数附使用方法
2008/06/20 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
使用PHP Socket写的POP3类
2013/10/30 PHP
百度站点地图(百度sitemap)生成方法分享
2014/01/09 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
PHP chop()函数讲解
2019/02/11 PHP
List Information About the Binary Files Used by an Application
2007/06/11 Javascript
javascript delete 使用示例代码
2010/03/29 Javascript
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
用javascript将数据导入Excel示例代码
2014/09/10 Javascript
Javascript 中创建自定义对象的方法汇总
2014/12/04 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
2015/07/17 Javascript
AngularJS入门教程之链接与图片模板详解
2016/08/19 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
js 动态生成html 触发事件传参字符转义的实例
2017/02/14 Javascript
JavaScript实现简单的双色球(实例讲解)
2017/07/31 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
[38:32]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第二局
2016/02/26 DOTA
Python查询Mysql时返回字典结构的代码
2012/06/18 Python
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
Python 文件管理实例详解
2015/11/10 Python
利用Python将时间或时间间隔转为ISO 8601格式方法示例
2017/09/05 Python
如何在python中使用selenium的示例
2017/12/26 Python
Python中的单继承与多继承实例分析
2018/05/10 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
Flask之请求钩子的实现
2018/12/23 Python
利用python求积分的实例
2019/07/03 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
2019/08/29 Python
本科生求职简历的自我评价
2013/10/21 职场文书
运动会班级口号
2014/06/09 职场文书
设计专业自荐信
2014/06/19 职场文书
信用卡结清证明怎么写
2014/09/13 职场文书
vue+springboot实现登录验证码
2021/05/27 Vue.js