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 相关文章推荐
在PHP3中实现SESSION的功能(二)
Oct 09 PHP
PHP生成静态页
Nov 25 PHP
php中cookie的作用域
Mar 27 PHP
WindowsXP中快速配置Apache+PHP5+Mysql
Jun 05 PHP
谈谈关于php的优点与缺点
Apr 11 PHP
php设计模式之观察者模式的应用详解
May 21 PHP
php简单浏览目录内容的实现代码
Jun 07 PHP
php打乱数组二维数组多维数组的简单实例
Jun 17 PHP
PHP类的特性实例分析
Sep 28 PHP
thinkPHP模板中函数的使用方法示例
Nov 30 PHP
利用ajax和PHP实现简单的流程管理
Mar 23 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 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 OPCode缓存 APC详细介绍
2010/10/12 PHP
php处理json时中文问题的解决方法
2011/04/12 PHP
PHP中__get()和__set()的用法实例详解
2013/06/04 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
详解yii2实现分库分表的方案与思路
2017/02/03 PHP
php实现用户登陆简单实例
2017/04/04 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
jquery 页面全选框实践代码
2010/04/02 Javascript
让checkbox不选中即将选中的checkbox不选中
2014/07/11 Javascript
jQuery对val和atrr(&quot;value&quot;)赋值的区别介绍
2014/09/26 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
javascript:void(0)点击登录没反应怎么解决
2015/11/13 Javascript
jquery获取css的color值返回RGB的方法
2015/12/18 Javascript
直接拿来用的页面跳转进度条JS实现
2016/01/06 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
2016/12/01 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
2017/04/07 Javascript
微信小程序之滚动视图容器的实现方法
2017/09/26 Javascript
详解node child_process模块学习笔记
2018/01/24 Javascript
vue使用jsonp抓取qq音乐数据的方法
2018/06/21 Javascript
vue 组件中添加样式不生效的解决方法
2018/07/06 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
详解搭建es6+devServer简单开发环境
2018/09/25 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
Python pycharm 同时加载多个项目的方法
2019/01/17 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
2019/10/11 Python
Python实现变声器功能(萝莉音御姐音)
2019/12/05 Python
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
Expedia英国:全球最大的在线旅游公司
2017/09/07 全球购物
Linux面试经常问的文件系统操作命令
2015/11/05 面试题
乡镇务虚会发言材料
2014/10/20 职场文书
办公室管理规章制度
2015/08/04 职场文书
小学班长竞选稿
2015/11/20 职场文书
HTML5基础学习之文本标签控制
2022/03/25 HTML / CSS
Android超详细讲解组件ScrollView的使用
2022/03/31 Java/Android