PHP中array_merge和array相加的区别分析


Posted in PHP onJune 17, 2013

首先来看看键名是string,两者区别:

<?php
$arr1 = array('a'=>'PHP');
$arr2 = array('a'=>'JAVA');
//如果键名为字符,且键名相同,array_merge()后面数组元素值会覆盖前面数组元素值
print_r(array_merge($arr1,$arr2)); //Array ( [a] => JAVA )
//如果键名为字符,且键名相同,数组相加会将最先出现的值作为结果
print_r($arr1+$arr2); //Array ( [a] => PHP )
?>

如果键名是数字,两者区别:
<?php
$arr1 = array("C","PHP");
$arr2 = array("JAVA","PHP");
//如果键名为数字,array_merge()不会进行覆盖
print_r(array_merge($arr1,$arr2));//Array ( [0] => C [1] => PHP [2] => JAVA [3] => PHP )
//如果键名为数组,数组相加会将最先出现的值作为结果,后面键名相同的会被抛弃
print_r($arr1+$arr2);//Array ( [0] => C [1] => PHP )
?>

特别要注意。关于“array_merge和数组相加的区别”上面已经阐述的很清楚了,回到我最初的问题“如何最有效的获取字符键名相同值不同的两个数组值集合呢”,不会这要对每个数组遍历吧,PHP中还有一个函数,获取你不常用:array_merge_recursive — 递归地合并一个或多个数组,如果输入的数组中有相同的字符串键名,则这些值会被合并到一个数组中去。如下例:
<?php
$arr1 = array("a"=>"php","c");
$arr2 = array("a"=>"java","c","ruby");
print_r(array_merge_recursive($arr1, $arr2));
?>

结果如下:
Array
(
    [a] => Array
        (
            [0] => php
            [1] => java
        )
    [0] => c
    [1] => c
    [2] => ruby
)
这样,就可以获取多个数组中键名相同的元素值集合了。
PHP 相关文章推荐
通过ICQ网关发送手机短信的PHP源程序
Oct 09 PHP
PHP下几种删除目录的方法总结
Aug 19 PHP
用PHP为SHOPEX增加日志功能代码
Jul 02 PHP
关于PHP自动判断字符集并转码的详解
Jun 26 PHP
php四种基础算法代码实例
Oct 29 PHP
php实现ip白名单黑名单功能
Mar 12 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
Apr 17 PHP
PHP递归创建多级目录
Nov 05 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
php+js实现裁剪任意形状图片
Oct 31 PHP
实例介绍PHP中zip_open()函数用法
Feb 15 PHP
关于PHP求解三数之和问题详析
Nov 09 PHP
php之Memcache学习笔记
Jun 17 #PHP
解析ajax事件的调用顺序
Jun 17 #PHP
sql注入与转义的php函数代码
Jun 17 #PHP
Linux环境下搭建php开发环境的操作步骤
Jun 17 #PHP
PHP之短标签开启设置
Jun 17 #PHP
深入掌握include_once与require_once的区别
Jun 17 #PHP
php抓取页面的几种方法详解
Jun 17 #PHP
You might like
PHP+memcache实现消息队列案例分享
2014/05/21 PHP
php中mysql连接方式PDO使用详解
2015/02/25 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
28个JS验证函数收集
2010/03/02 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
javascript动画之模拟拖拽效果篇
2016/09/26 Javascript
VueJs与ReactJS和AngularJS的异同点
2016/12/12 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
2017/03/13 Javascript
JavaScript 数组的进化与性能分析
2017/09/18 Javascript
vue实现商品加减计算总价的实例代码
2018/08/12 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
vue-quill-editor的使用及个性化定制操作
2020/08/04 Javascript
Python实现提取文章摘要的方法
2015/04/21 Python
python实现读取并显示图片的两种方法
2017/01/13 Python
python绘制双柱形图代码实例
2017/12/14 Python
解决python 输出是省略号的问题
2018/04/19 Python
python实现Windows电脑定时关机
2018/06/20 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
pandas重新生成索引的方法
2018/11/06 Python
Python3字符串encode与decode的讲解
2019/04/02 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
瑞典时尚服装购物网站:Miinto.se
2017/10/30 全球购物
WINDOWS域的具体实现方式是什么
2014/02/20 面试题
提高EJB性能都有哪些技巧
2012/03/25 面试题
医药代表个人的求职信分享
2013/12/08 职场文书
初二政治教学反思
2014/01/12 职场文书
生日派对邀请函
2014/01/13 职场文书
怎么写好自荐书
2014/03/02 职场文书
英语教育专业毕业生求职信
2014/08/28 职场文书
加强作风建设演讲稿
2014/10/24 职场文书
2015廉洁自律个人总结
2015/02/14 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
《夸父追日》教学反思
2016/02/20 职场文书
高考升学宴主持词
2019/06/21 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书