php合并数组array_merge函数运算符加号与的区别


Posted in PHP onOctober 31, 2008

array_merge在参考手册中的说明如下:
array_merge() 将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

两个的区别是:

1.数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用array_merge()不会覆盖掉原来的值,而使用“+”合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(注意:不是覆盖而是保留最先出现的那个值)。例子:

$array1 = array(1=>'0'); 

$array2 = array(1=> "data"); 
  $result1 = $array2 + $array1;/*结果为$array2的值*/ 
  print_r($result); 
$result = $array1 + $array2 ;/*结果为$array1的值*/ 
print_r($result); 
$result3 = array_merge($array2,$array1);/*结果为$array2和$array1的值,键名被重新分配*/ 
print_r($result3); 
$result4 = array_merge($array1,$array2);/*结果为$array1和$array2的值,键名被重新分配*/ 
print_r($result4);

输出结果为: 
Array 
( 
[1] => data 
) 
Array 
( 
[1] => 0 
) 
Array 
( 
[0] => data 
[1] => 0 
) 
Array 
( 
[0] => 0 
[1] => data 
)

2.当相同数组键名为字符时,“+”运算符与键名为数字时一样,但array_merge()此时会覆盖掉前面相同键名的值。

例子:

$array1 = array('asd'=>'0'); 
$array2 = array('asd' => "data"); 
  $result1 = $array2 + $array1;/*结果为$array2的值*/ 
  print_r($result); 
$result = $array1 + $array2 ;/*结果为$array1的值*/ 
print_r($result); 
$result3 = array_merge($array2,$array1);/*结果为$array1*/ 
print_r($result3); 
$result4 = array_merge($array1,$array2);/*结果为$array2*/ 
print_r($result4);

输出结果为:
Array 
( 
[asd] => data 
) 
Array 
( 
[asd] => 0 
) 
Array 
( 
[asd] => 0 
) 
Array 
( 
[asd] => data 
)
PHP 相关文章推荐
PHP has encountered an Access Violation 错误的解决方法
Jan 17 PHP
收藏的PHP常用函数 推荐收藏保存
Feb 21 PHP
PHP文件读写操作之文件写入代码
Jan 13 PHP
php中在PDO中使用事务(Transaction)
May 14 PHP
初步介绍PHP扩展开发经验分享
Sep 06 PHP
ThinkPHP函数详解之M方法和R方法
Sep 10 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
Dec 14 PHP
PHP版本常用的排序算法汇总
Dec 20 PHP
Laravel 实现密码重置功能
Feb 23 PHP
PHP实现的AES 128位加密算法示例
Sep 16 PHP
Laravel-添加后台模板AdminLte的实现方法
Oct 08 PHP
Yii2框架中一些折磨人的坑
Dec 15 PHP
PHP syntax error, unexpected $end 错误的一种原因及解决
Oct 25 #PHP
smarty的保留变量问题
Oct 23 #PHP
攻克CakePHP系列三 表单数据增删改
Oct 22 #PHP
攻克CakePHP系列二 表单数据显示
Oct 22 #PHP
CakePHP去除默认显示的标题及图标的方法
Oct 22 #PHP
攻克CakePHP系列一 连接MySQL数据库
Oct 22 #PHP
PHP 反射机制实现动态代理的代码
Oct 22 #PHP
You might like
ajax+php打造进度条 readyState各状态
2010/03/20 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
一些易混淆且不常用的属性,希望有用
2007/01/29 Javascript
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
JavaScript中把数字转换为字符串的程序代码
2013/06/19 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
js获取html页面节点方法(递归方式)
2013/12/13 Javascript
js如何获取object类型里的键值
2014/02/18 Javascript
基于jQuery实现最基本的淡入淡出效果实例
2015/02/02 Javascript
js剪切板应用clipboardData实例解析
2016/05/29 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
浅谈Postman解决token传参的问题
2018/03/31 Javascript
JavaScript 下载svg图片为png格式
2018/06/21 Javascript
JavaScript数组方法的错误使用例子
2018/09/13 Javascript
Vue+elementUI实现多图片上传与回显功能(含回显后继续上传或删除)
2020/03/23 Javascript
解决新建一个vue项目过程中遇到的问题
2020/10/22 Javascript
py中的目录与文件判别代码
2008/07/16 Python
python使用urllib2模块获取gravatar头像实例
2013/12/18 Python
Python原始字符串(raw strings)用法实例
2014/10/13 Python
Python在Console下显示文本进度条的方法
2016/02/14 Python
Python下载指定页面上图片的方法
2016/05/12 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
pandas DataFrame运算的实现
2020/06/14 Python
CSS3教程:边框属性border的极致应用
2009/04/02 HTML / CSS
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
Hotels.com拉丁美洲:从豪华酒店到经济型酒店的预定优惠和折扣
2019/12/09 全球购物
旅游管理专业学生求职信
2013/09/28 职场文书
工厂厂长岗位职责
2013/11/08 职场文书
校三好学生主要事迹
2014/01/11 职场文书
带薪年假请假条
2014/02/04 职场文书
行政文员岗位职责
2015/02/04 职场文书
工作自我评价范文
2019/03/21 职场文书