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实现的随机广告显示代码
Jun 14 PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
Oct 12 PHP
PHP与MySQL开发的8个技巧小结
Dec 17 PHP
PHP读取数据库并按照中文名称进行排序实现代码
Jan 29 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
Nov 12 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
Jul 04 PHP
php采用file_get_contents代替使用curl实例
Nov 07 PHP
PHP Reflection API详解
May 12 PHP
yii框架无限极分类的实现方法
Apr 08 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
Apr 25 PHP
实例讲解PHP验证邮箱是否合格
Jan 28 PHP
php的instanceof和判断闭包Closure操作示例
Jan 26 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
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
2013/06/17 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
php从数据库读取数据,并以json格式返回数据的方法
2018/08/21 PHP
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
IE的事件传递-event.cancelBubble示例介绍
2014/01/12 Javascript
jQuery获取动态生成的元素示例
2014/06/15 Javascript
Node.js中使用事件发射器模式实现事件绑定详解
2014/08/15 Javascript
js实现点击添加一个input节点
2014/12/05 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
多种方式实现js图片预览
2016/12/12 Javascript
BootStrap组件之进度条的基本用法
2017/01/19 Javascript
angular 基于ng-messages的表单验证实例
2017/05/04 Javascript
angular.fromJson与toJson方法用法示例
2017/05/17 Javascript
使用JS和canvas实现gif动图的停止和播放代码
2017/09/01 Javascript
Nginx 配置多站点vhost 的方法
2018/01/07 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
vue将毫秒数转化为正常日期格式的实例
2018/09/16 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
2020/06/04 Javascript
Nuxt的路由配置和参数传递方式
2020/11/06 Javascript
python实现dict版图遍历示例
2014/02/19 Python
Pandas之groupby( )用法笔记小结
2019/07/23 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
利用Python计算KS的实例详解
2020/03/03 Python
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
阿里健康大药房:阿里自营网上药店
2017/08/01 全球购物
几个常见的软件测试问题
2016/09/07 面试题
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
物流司机岗位职责
2013/12/28 职场文书
幼儿园元旦家长感言
2014/02/27 职场文书
小学生感恩老师演讲稿
2014/08/28 职场文书
幼儿园园务工作总结2015
2015/05/18 职场文书
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers