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 和 COM
Oct 09 PHP
不用数据库的多用户文件自由上传投票系统(2)
Oct 09 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
Dec 19 PHP
file_get_contents获取不到网页内容的解决方法
Mar 07 PHP
ThinkPHP实现将本地文件打包成zip下载
Jun 26 PHP
PHP中使用addslashes函数转义的安全性原理分析
Nov 03 PHP
php返回相对时间(如:20分钟前,3天前)的方法
Apr 14 PHP
PHP版本常用的排序算法汇总
Dec 20 PHP
PHP和MySql中32位和64位的整形范围是多少
Feb 18 PHP
PHP解析url并得到url参数方法总结
Oct 11 PHP
PHP操作XML中XPath的应用示例
Jul 04 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
May 02 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
PHP调用三种数据库的方法(3)
2006/10/09 PHP
通过文字传递创建的图形按钮
2006/10/09 PHP
Function eregi is deprecated (解决方法)
2013/06/21 PHP
php随机抽奖实例分析
2015/03/04 PHP
详解PHP处理密码的几种方式
2016/11/30 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
2019/05/27 PHP
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
jquery的flexigrid无法显示数据提示获取到数据
2013/07/19 Javascript
JavaScript保存并运算页面中数字类型变量的写法
2015/07/06 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
简单实现bootstrap导航效果
2017/02/07 Javascript
利用js判断手机是否安装某个app的多种方案
2017/02/13 Javascript
自定义vue全局组件use使用、vuex的使用详解
2017/06/14 Javascript
python类继承与子类实例初始化用法分析
2015/04/17 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
Python中矩阵库Numpy基本操作详解
2017/11/21 Python
python机器学习案例教程——K最近邻算法的实现
2017/12/28 Python
详解Python使用tensorflow入门指南
2018/02/09 Python
python 文件查找及内容匹配方法
2018/10/25 Python
Python实现的旋转数组功能算法示例
2019/02/23 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
浅析Python 多行匹配模式
2020/07/24 Python
详解查看Python解释器路径的两种方式
2020/10/15 Python
Needle & Thread官网:英国仙女品牌
2018/01/13 全球购物
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
教师年终个人自我评价
2013/10/04 职场文书
保护环境建议书
2014/03/12 职场文书
爱心捐助倡议书
2014/05/19 职场文书
三方股东合作协议书
2014/10/28 职场文书
小学老师对学生的评语
2014/12/29 职场文书
村官个人总结范文
2015/03/03 职场文书
2015年办公室文秘工作总结
2015/04/30 职场文书
给学校的建议书400字
2015/09/14 职场文书