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 相关文章推荐
使用MaxMind 根据IP地址对访问者定位
Oct 09 PHP
基于OpenCV的PHP图像人脸识别技术
Oct 11 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
php通过COM类调用组件的实现代码
Jan 11 PHP
php中使用preg_match_all匹配文章中的图片
Feb 06 PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
Jun 18 PHP
thinkphp实现数组分页示例
Apr 13 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
Jul 26 PHP
php时间戳转换代码详解
Aug 04 PHP
laravel框架如何设置公共头和公共尾
Oct 22 PHP
php+iframe 实现上传文件功能示例
Mar 04 PHP
PHP xpath提取网页数据内容代码解析
Jul 16 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数组函数序列之array_splice() - 在数组任意位置插入元素
2011/11/07 PHP
PHP判断文件是否被引入的方法get_included_files用法示例
2016/11/29 PHP
PHP解决中文乱码
2017/04/28 PHP
ExtJS的FieldSet的column列布局
2009/11/20 Javascript
jquery lazyload延迟加载技术的实现原理分析
2011/01/24 Javascript
javascript一些实用技巧小结
2011/03/18 Javascript
js网页侧边随页面滚动广告效果实现
2011/04/14 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
JavaScript中对循环语句的优化技巧深入探讨
2014/06/06 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
2017/01/26 Javascript
js 博客内容进度插件详解
2017/02/19 Javascript
BootStrap点击保存后实现模态框自动关闭的思路(模态框)
2017/09/26 Javascript
详解Vue用自定义指令完成一个下拉菜单(select组件)
2017/10/31 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
2018/10/12 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
js闭包的9个使用场景
2020/12/29 Javascript
Python Tkinter实现简易计算器功能
2018/01/30 Python
Python语言的变量认识及操作方法
2018/02/11 Python
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
查看django版本的方法分享
2018/05/14 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
python简单区块链模拟详解
2019/07/03 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
如何利用pygame实现简单的五子棋游戏
2019/12/29 Python
浅析Python 序列化与反序列化
2020/08/05 Python
python time.strptime格式化实例详解
2021/02/03 Python
详解python第三方库的安装、PyInstaller库、random库
2021/03/03 Python
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
拔河比赛口号
2014/06/10 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
教师节感谢信
2015/01/22 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
OpenFeign实现远程调用
2022/08/14 Java/Android