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
PHP中全局变量global和$GLOBALS[]的区别分析
Aug 06 PHP
PHP迭代器的内部执行过程详解
Nov 12 PHP
PHP实现服务器状态监控的方法
Dec 09 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
详解WordPress中添加友情链接的方法
May 21 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
May 27 PHP
php实现基于openssl的加密解密方法
Sep 30 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
Nov 20 PHP
PHP判断json格式是否正确的实现代码
Sep 20 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
Aug 20 PHP
PHP对接阿里云虚拟号的实现(号码隐私保护)
Apr 06 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
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
php MYSQL 数据备份类
2009/06/19 PHP
php 生成WML页面方法详解
2009/08/09 PHP
简单的php新闻发布系统教程
2014/05/09 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
PHP Try-catch 语句使用技巧
2016/02/28 PHP
php+html5+ajax实现上传图片的方法
2016/05/14 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
javascript function、指针及内置对象
2009/02/19 Javascript
JS 控制CSS样式表
2009/08/20 Javascript
可以将word转成html的js代码
2010/04/11 Javascript
关于html+ashx开发中几个问题的解决方法
2011/07/18 Javascript
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
使用apply方法实现javascript中的对象继承
2013/12/16 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
2014/04/03 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
JavaScript日期时间格式化函数分享
2014/05/05 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
2016/10/04 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
vue实现商城购物车功能
2017/11/27 Javascript
Python中实现结构相似的函数调用方法
2015/03/10 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
python实现名片管理系统
2018/11/29 Python
解决python3中的requests解析中文页面出现乱码问题
2019/04/19 Python
画pytorch模型图,以及参数计算的方法
2019/08/17 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
Tensorflow 多线程设置方式
2020/02/06 Python
麦德龙官方海外旗舰店:德国麦德龙超市
2017/12/23 全球购物
世界上最好的足球商店:Unisport
2019/03/02 全球购物
Theo + George官方网站:都柏林时尚品牌
2019/04/08 全球购物
暑期培训班招生方案
2014/08/26 职场文书
职工年度考核评语
2014/12/31 职场文书
党校团干班培训心得体会
2016/01/06 职场文书
Vue-Element-Admin集成自己的接口实现登录跳转
2021/06/23 Vue.js
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python