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注入实例
Oct 09 PHP
php学习笔记之面向对象编程
Dec 29 PHP
PHP代码保护--Zend Guard的使用详解
Jun 03 PHP
PHP文件大小格式化函数合集
Mar 10 PHP
PHP扩展CURL的用法详解
Jun 20 PHP
PHP中substr()与explode()函数用法分析
Nov 24 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
Dec 17 PHP
Twig模板引擎用法入门教程
Jan 20 PHP
PHP实现一个简单url路由功能实例
Nov 05 PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
Jul 03 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
Apr 21 PHP
PHP内存溢出优化代码详解
Feb 26 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
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
PHP APC缓存配置、使用详解
2014/03/06 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
php中10个不同等级压缩优化图片操作示例
2016/11/14 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
jquery 简单导航实现代码
2009/09/11 Javascript
struts2 jquery 打造无限层次的树
2009/10/23 Javascript
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
ajax 缓存 问题 requestheader
2010/08/01 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
2013/02/26 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
javascript时间函数大全
2014/06/30 Javascript
js实现网页收藏功能
2015/12/17 Javascript
功能强大的Bootstrap组件(结合js)
2016/08/03 Javascript
JS产生随机数的用法小结
2016/12/10 Javascript
jQuery自定义图片上传插件实例代码
2017/04/04 jQuery
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
vue无限轮播插件代码实例
2019/05/10 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
2020/06/01 Javascript
Postman如何实现参数化执行及断言处理
2020/07/28 Javascript
让 python 命令行也可以自动补全
2014/11/30 Python
简单理解Python中的装饰器
2015/07/31 Python
Python实现统计代码行的方法分析
2017/07/12 Python
解决python父线程关闭后子线程不关闭问题
2020/04/25 Python
CSS3区域模块region相关编写示例
2015/08/28 HTML / CSS
使用HTML5进行SVG矢量图形绘制的入门教程
2016/02/19 HTML / CSS
Kipling意大利官网:世界著名的时尚休闲包袋品牌
2019/06/05 全球购物
New delete 与malloc free 的联系与区别
2013/02/04 面试题
公务员培训心得体会
2013/12/28 职场文书
复兴之路展览观后感
2015/06/02 职场文书