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 相关文章推荐
COM in PHP (winows only)
Oct 09 PHP
PHP定时执行计划任务的多种方法小结
Dec 19 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
Feb 28 PHP
php使用ICQ网关发送手机短信
Oct 30 PHP
Yii配置文件用法详解
Dec 04 PHP
PHP中遇到的时区问题解决方法
Jul 23 PHP
WordPress中注册菜单与调用菜单的方法详解
Dec 18 PHP
PHP中子类重载父类的方法【parent::方法名】
May 06 PHP
php生成Android客户端扫描可登录的二维码
May 13 PHP
php自定义函数实现二维数组排序功能
Jul 20 PHP
阿里云Win2016安装Apache和PHP环境图文教程
Mar 11 PHP
Laravel相关的一些故障解决
Aug 19 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边学边教》(01.开篇――准备工作)
2006/12/13 PHP
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
2012/03/27 PHP
PHP 等比例缩放图片详解及实例代码
2016/09/18 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
javascript String 的扩展方法集合
2008/06/01 Javascript
javascript自执行函数之伪命名空间封装法
2010/12/25 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
基于jQuery实现表格的排序
2016/12/02 Javascript
JS完成画圆圈的小球
2017/03/07 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
vue-cli中vue本地实现跨域调试接口
2019/01/16 Javascript
Vue实现简单计算器案例
2020/02/25 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
2020/12/25 Vue.js
python调用java的Webservice示例
2014/03/10 Python
python numpy之np.random的随机数函数使用介绍
2019/10/06 Python
Python 导入文件过程图解
2019/10/15 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
Django Form设置文本框为readonly操作
2020/07/03 Python
Python3.8安装Pygame教程步骤详解
2020/08/14 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
2021/02/01 Python
基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享
2014/06/11 HTML / CSS
春秋航空官方网站:Spring Airlines
2017/09/27 全球购物
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
应聘面试自我评价
2014/01/24 职场文书
高中军训感言200字
2014/02/23 职场文书
大型营销活动计划书
2014/04/28 职场文书
学校党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
历史博物馆观后感
2015/06/05 职场文书
《窃读记》教学反思
2016/02/18 职场文书
解决Tkinter中button按钮未按却主动执行command函数的问题
2021/05/23 Python
js 数组 fill() 填充方法
2021/11/02 Javascript
python和C/C++混合编程之使用ctypes调用 C/C++的dll
2022/04/29 Python