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 相关文章推荐
PHP中include()与require()的区别说明
Mar 10 PHP
php的ajax框架xajax入门与试用介绍
Dec 19 PHP
浅析php适配器模式(Adapter)
Nov 25 PHP
PHP 实现代码复用的一个方法 traits新特性
Feb 22 PHP
php实现上传图片文件代码
Jul 19 PHP
PHP通过加锁实现并发情况下抢码功能
Aug 10 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
Jan 19 PHP
PHP实现webshell扫描文件木马的方法
Jul 31 PHP
PHP实现的折半查找算法示例
Dec 19 PHP
阿里云Win2016安装Apache和PHP环境图文教程
Mar 11 PHP
微信JSSDK分享功能图文实例详解
Apr 08 PHP
php post换行的方法
Feb 03 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
PHP Pear 安装及使用
2009/03/19 PHP
php获取表单中多个同名input元素的值
2014/03/20 PHP
php实现使用正则将文本中的网址转换成链接标签
2014/12/03 PHP
PHP时间类完整实例(非常实用)
2015/12/25 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
javascript 字符串连接的性能问题(多浏览器)
2008/11/18 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
js兼容的placeholder属性详解
2013/08/18 Javascript
关闭浏览器时提示onbeforeunload事件
2013/12/25 Javascript
jQuery简单实现上下,左右滑动的方法
2016/06/01 Javascript
jQuery元素选择器实例代码
2017/02/06 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
2017/08/04 jQuery
node+koa实现数据mock接口的方法
2017/09/20 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
JS点击动态添加标签、删除指定标签的代码
2018/04/18 Javascript
[07:40]DOTA2每周TOP10 精彩击杀集锦vol.4
2014/06/25 DOTA
Python与shell的3种交互方式介绍
2015/04/11 Python
基于python中staticmethod和classmethod的区别(详解)
2017/10/24 Python
Python使用OpenCV进行标定
2018/05/08 Python
python for和else语句趣谈
2019/07/02 Python
python中使用np.delete()的实例方法
2021/02/01 Python
一款CSS3实现多功能下拉菜单(带分享按)的教程
2014/11/05 HTML / CSS
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
经典演讲稿范文
2013/12/30 职场文书
管理失职检讨书
2014/02/12 职场文书
历史专业大学生职业生涯规划书
2014/03/13 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
孝敬父母的活动方案
2014/08/28 职场文书
2015大学生实训报告
2014/11/05 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书
Vue + iView实现Excel上传功能的完整代码
2021/06/22 Vue.js