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 相关文章推荐
frename PHP 灵活文件命名函数 frename
Sep 09 PHP
解决PHP超大文件下载,断点续传下载的方法详解
Jun 06 PHP
yii框架配置默认controller和action示例
Apr 30 PHP
PHP多文件上传类实例
Mar 07 PHP
8个PHP数组面试题
Jun 23 PHP
深入理解PHP变量的值类型和引用类型
Oct 21 PHP
学习php设计模式 php实现享元模式(flyweight)
Dec 07 PHP
PHP执行linux命令常用函数汇总
Feb 02 PHP
php反射类ReflectionClass用法分析
May 12 PHP
php中get_magic_quotes_gpc()函数说明
Feb 06 PHP
PHP基于cookie实现统计在线人数功能示例
Jan 16 PHP
Laravel框架Eloquent ORM修改数据操作示例
Dec 03 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截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
一个完整的php文件上传类实例讲解
2015/10/27 PHP
B/S开发中常用javaScript技术与代码
2007/03/09 Javascript
纯js实现背景图片切换效果代码
2010/11/14 Javascript
JQuery文字列表向上滚动的代码
2013/11/13 Javascript
使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
2014/06/05 Javascript
jQery使网页在显示器上居中显示适用于任何分辨率
2014/06/09 Javascript
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
Vue动态组件实例解析
2017/08/20 Javascript
vue 表单之通过v-model绑定单选按钮radio
2019/05/13 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
微信sdk实现禁止微信分享(使用原生php实现)
2019/11/15 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
在Vue里如何把网页的数据导出到Excel的方法
2020/09/30 Javascript
[03:11]TI9战队档案 - Alliance
2019/08/20 DOTA
[50:44]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第二场 2月22日
2021/03/11 DOTA
Python查看多台服务器进程的脚本分享
2014/06/11 Python
Python实现的几个常用排序算法实例
2014/06/16 Python
django通过ajax发起请求返回JSON格式数据的方法
2015/06/04 Python
Python函数式编程指南(四):生成器详解
2015/06/24 Python
详解用Python处理HTML转义字符的5种方式
2017/12/27 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
2018/01/30 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
2019/02/07 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
HTML5实现WebSocket协议原理浅析
2014/07/07 HTML / CSS
学院书画协会部门岗位职责
2013/12/01 职场文书
高三高考决心书
2014/03/11 职场文书
简单的项目建议书模板
2014/03/12 职场文书
学习雷锋寄语大全
2014/04/11 职场文书
合同协议书格式
2014/04/18 职场文书
小学班干部竞选演讲稿
2014/04/24 职场文书
企业安全标语
2014/06/07 职场文书
好听的队名和口号
2014/06/09 职场文书
建筑院校毕业生求职信
2014/06/13 职场文书
电气工程及其自动化专业求职信
2014/06/23 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书