PHP合并数组+与array_merge的区别分析


Posted in PHP onAugust 01, 2010

主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意

1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)

2)键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值

需要注意的是数组键形式 '数字' 等价于 数字

$a = array('a','b'); 
$b = array('c', 'd'); 
$c = $a + $b; 
var_dump($a); 
var_dump(array_merge($a, $b)); $a = array(0 => 'a', 1 => 'b'); 
$b = array(0 => 'c', 1 => 'b'); 
$c = $a + $b; 
var_dump($c); 
var_dump(array_merge($a, $b)); 
$a = array('a', 'b'); 
$b = array('0' => 'c', 1 => 'b'); 
$c = $a + $b; 
var_dump($c); 
var_dump(array_merge($a, $b)); 
$a = array(0 => 'a', 1 => 'b'); 
$b = array('0' => 'c', '1' => 'b'); 
$c = $a + $b; 
var_dump($c); 
var_dump(array_merge($a, $b));

结果
array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
2 => string 'c' (length=1) 
3 => string 'd' (length=1) array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
2 => string 'c' (length=1) 
3 => string 'b' (length=1) 
array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
2 => string 'c' (length=1) 
3 => string 'b' (length=1) 
array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
array 
0 => string 'a' (length=1) 
1 => string 'b' (length=1) 
2 => string 'c' (length=1) 
3 => string 'b' (length=1)
PHP 相关文章推荐
PHP与已存在的Java应用程序集成
Oct 09 PHP
PHP加速 eAccelerator配置和使用指南
Jun 05 PHP
php的array_multisort()使用方法介绍
May 16 PHP
php 对输入信息的进行安全过滤的函数代码
Jun 29 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
Jan 15 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
Sep 22 PHP
实例详解PHP中html word 互转的方法
Jan 28 PHP
PHP模拟post提交数据方法汇总
Feb 16 PHP
PDO的安全处理与事物处理方法
Oct 31 PHP
php利用嵌套数组拼接与解析json的方法
Feb 07 PHP
深入解析PHP中SESSION反序列化机制
Mar 01 PHP
PHPExcel实现的读取多工作表操作示例
Apr 14 PHP
PHP自定义函数收代码
Aug 01 #PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
Aug 01 #PHP
PHP5中使用PDO连接数据库的方法
Aug 01 #PHP
PHP网站安装程序制作的原理、步骤、注意事项和示例代码
Aug 01 #PHP
PHP Stream_*系列函数
Aug 01 #PHP
php下目前为目最全的CURL中文说明
Aug 01 #PHP
php feof用来识别文件末尾字符的方法
Aug 01 #PHP
You might like
PHP中include()与require()的区别说明
2010/03/10 PHP
php实现rc4加密算法代码
2012/04/25 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
2017/02/10 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
php表单处理操作
2017/11/16 PHP
PHP一个简单的无需刷新爬虫
2019/01/05 PHP
php中关于换行的实例写法
2019/09/26 PHP
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
2009/01/30 Javascript
Prototype源码浅析 Number部分
2012/01/16 Javascript
DWR实现模拟Google搜索效果实现原理及代码
2013/01/30 Javascript
jQuery实现3D文字特效的方法
2015/03/10 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
2016/11/01 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
2016/12/01 Javascript
详解vue使用$http服务端收不到参数
2019/04/19 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
python爬虫获取淘宝天猫商品详细参数
2020/06/23 Python
解决python3 网络请求路径包含中文的问题
2018/05/10 Python
Python实现图片拼接的代码
2018/07/02 Python
python异常触发及自定义异常类解析
2019/08/06 Python
使用Fabric自动化部署Django项目的实现
2019/09/27 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
移动端HTML5实现文件上传功能【附代码】
2016/03/25 HTML / CSS
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
厂长岗位职责
2014/02/19 职场文书
新闻学专业大学生职业生涯规划范文
2014/03/02 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
四风对照检查材料思想汇报
2014/09/20 职场文书
幼师自荐信范文(2016推荐篇)
2016/01/28 职场文书
演讲稿之感恩老师(三篇范文)
2019/09/06 职场文书
导游词之西湖雷峰塔
2019/09/18 职场文书
Python 绘制多因子柱状图
2022/05/11 Python