PHP中数组合并的两种方法及区别介绍


Posted in PHP onSeptember 14, 2012

PHP数组合并两种方法及区别
如果是关联数组,如下:

$a = array( 
'where' => 'uid=1', 
'order' => 'uid', 
); 
$b = array( 
'where' => 'uid=2', 
'order' => 'uid desc', 
);

1. array_merge,如果两个数组存在相同的key,后面的一个会覆盖前面的

<?php 
$c = array_merge($a, $b); 
var_export($c);//结果与原来的$b相同 
$d = array_merge($b, $a); 
var_export($d);//结果与原来的$a相同

2. "+"操作符,如果两个数组存在相同的key,前面的一个会覆盖后面的
<?php 
$c = $a + $b; 
var_export($c);//结果与原来的$a相同 
$d = $b + $a; 
var_export($d);//结果与原来的$b相同

如果是数字索引数组,如下:

$a = array( 
1 => '1111111', 
2 => '222222222' 
); 
$b = array( 
4 => '33333333333', 
1 => '444444444' 
);

1. array_merge. 效果类似代码foreach每个数组元素,然后将每个元素压入一个新堆栈当中
<?php 
$c = array_merge($a, $b); 
var_export($c); 
$d = array_merge($b, $a); 
var_export($d);

输出:
array (
0 => '1111111',
1 => '222222222',
2 => '33333333333',
3 => '444444444',
)
array (
0 => '33333333333',
1 => '444444444',
2 => '1111111',
3 => '222222222',
)
2. "+"操作符. 效果类似代码foreach每个数组元素,然后将每个元素压入一个新堆栈当中,如果同样的key已经存在则不处理
<?php 
$c = $a + $b; 
var_export($c); 
$d = $b + $a; 
var_export($d);

输出:
array (
1 => '1111111',
2 => '222222222',
4 => '33333333333',
)
array (
4 => '33333333333',
1 => '444444444',
2 => '222222222',
)
PHP 相关文章推荐
ADODB类使用
Nov 25 PHP
php 调试利器debug_print_backtrace()
Jul 23 PHP
php中用加号与用array_merge合并数组的区别深入分析
Jun 03 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
Jun 27 PHP
ThinkPHP连接数据库的方式汇总
Dec 05 PHP
thinkphp3.0输出重复两次的解决方法
Dec 19 PHP
php格式化金额函数分享
Feb 02 PHP
微信公众号判断用户是否已关注php代码解析
Jun 24 PHP
php获取文章内容第一张图片的方法示例
Jul 03 PHP
PHP实现的简单路由和类自动加载功能
Mar 13 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
May 09 PHP
解决tp5在nginx下修改配置访问的问题
Oct 16 PHP
PHP合并两个数组的两种方式的异同
Sep 14 #PHP
PHP数据流应用的一个简单实例
Sep 14 #PHP
分享一下贝贝成长进度的php代码
Sep 14 #PHP
PHP 之Section与Cookie使用总结
Sep 14 #PHP
PHP 文件系统详解
Sep 13 #PHP
PHP 面向对象详解
Sep 13 #PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
Sep 13 #PHP
You might like
基于mysql的论坛(1)
2006/10/09 PHP
php绝对路径与相对路径之间关系的的分析
2010/03/03 PHP
PHP 双链表(SplDoublyLinkedList)简介和使用实例
2015/05/12 PHP
PHP对象实例化单例方法
2017/01/19 PHP
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
仅IE不支持setTimeout/setInterval函数的第三个以上参数
2011/05/25 Javascript
jquery Moblie入门—hello world的示例代码学习
2013/01/08 Javascript
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
JavaScript中的parse()方法使用简介
2015/06/12 Javascript
jQuery随手笔记之常用的jQuery操作DOM事件
2015/11/29 Javascript
JavaScript设计模式经典之工厂模式
2016/02/24 Javascript
javascript汉字拼音互转的简单实例
2016/10/09 Javascript
判断数组的最佳方法(推荐)
2016/10/11 Javascript
Js动态设置rem来实现移动端字体的自适应代码
2016/10/14 Javascript
Vue.js系列之项目搭建(1)
2017/01/03 Javascript
vue.js单页面应用实例的简单实现
2017/04/10 Javascript
vue实现app页面切换动画效果实例
2017/05/23 Javascript
vue + vuex todolist的实现示例代码
2018/03/09 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
2019/09/26 Javascript
Python实现大文件排序的方法
2015/07/10 Python
Python模拟随机游走图形效果示例
2018/02/06 Python
Python计算不规则图形面积算法实现解析
2019/11/22 Python
如何基于python实现不邻接植花
2020/05/01 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
python--shutil移动文件到另一个路径的操作
2020/07/13 Python
Python分类测试代码实例汇总
2020/07/23 Python
职工运动会感言
2014/02/07 职场文书
应聘医药销售自荐书范文
2014/02/08 职场文书
检举信的格式及范文
2014/04/04 职场文书
超市商业计划书
2014/05/04 职场文书
社区先进事迹材料
2014/05/19 职场文书
后备干部培训方案
2014/05/22 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
开学随笔
2015/08/15 职场文书
篮球拉拉队口号
2015/12/25 职场文书
「我的青春恋爱物语果然有问题。-妄言录-」第20卷封面公开
2022/03/21 日漫