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 11 PHP
PHP 采集心得技巧
May 15 PHP
php下关于Cannot use a scalar value as an array的解决办法
Aug 08 PHP
PHP与C#分别格式化文件大小的代码
May 14 PHP
无JS,完全php面向过程数据分页实现代码
Aug 27 PHP
PHP四大安全策略
Mar 12 PHP
php二维数组合并及去重复的方法
Mar 04 PHP
php提交过来的数据生成为txt文件
Apr 28 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
May 27 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
Jun 17 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
thinkPHP5框架分页样式类完整示例
Sep 01 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编程中八种常见的文件操作方式
2006/11/19 PHP
php运行出现Call to undefined function curl_init()的解决方法
2010/11/02 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
2020/04/23 PHP
仿校内登陆框,精美,给那些很厉害但是没有设计天才的程序员
2008/11/24 Javascript
jQuery 事件的命名空间简单了解
2013/11/22 Javascript
JS 在指定数组中随机取出N个不重复的数据
2014/06/10 Javascript
滚动条响应鼠标滑轮事件实现上下滚动的js代码
2014/06/30 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
2015/03/23 Javascript
JQuery控制radio选中和不选中方法总结
2015/04/15 Javascript
js实现新年倒计时效果
2015/12/10 Javascript
JS简单实现禁止访问某个页面的方法
2016/09/13 Javascript
浅谈JavaScript面向对象--继承
2019/03/20 Javascript
vue全局自定义指令-元素拖拽的实现代码
2019/04/14 Javascript
koa router 多文件引入的方法示例
2019/05/22 Javascript
layer 刷新某个页面的实现方法
2019/09/05 Javascript
Windows上node.js的多版本管理工具用法实例分析
2019/11/06 Javascript
用Python从零实现贝叶斯分类器的机器学习的教程
2015/03/31 Python
在Django框架中编写Contact表单的教程
2015/07/17 Python
详解python里的命名规范
2018/07/16 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/27 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
在Python中append以及extend返回None的例子
2019/07/20 Python
使用 python pyautogui实现鼠标键盘控制功能
2019/08/04 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
python集合能干吗
2020/07/19 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
python编程的核心知识点总结
2021/02/08 Python
先进德育工作者事迹材料
2014/01/24 职场文书
党支部公开承诺书
2014/03/28 职场文书
瘦西湖导游词
2015/02/03 职场文书
单位计划生育责任书
2015/05/09 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书
Python实现byte转integer
2021/06/03 Python
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python