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函数解决SQL injection
Oct 09 PHP
PHP4.04简明安装
Oct 09 PHP
ADODB的数据库封包程序库
Dec 31 PHP
php 删除无限级目录与文件代码共享
Nov 22 PHP
PHP 八种基本的数据类型小结
Jun 01 PHP
关于JSON以及JSON在PHP中的应用技巧
Nov 27 PHP
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
Jun 09 PHP
WebQQ最新登陆协议的用法
Dec 22 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
Mar 11 PHP
Smarty简单生成表单元素的方法示例
May 23 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
Feb 08 PHP
tp5 实现列表数据根据状态排序
Oct 18 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
PHP实现Socket服务器的代码
2008/04/03 PHP
PHP获取网站域名和地址的代码
2008/08/17 PHP
php在字符串中查找另一个字符串
2008/11/19 PHP
PHP类的使用 实例代码讲解
2009/12/28 PHP
php全排列递归算法代码
2012/10/09 PHP
php中 $$str 中 &quot;$$&quot; 的详解
2015/07/06 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
Yii 2.0如何使用页面缓存方法示例
2017/05/23 PHP
js数组Array sort方法使用深入分析
2013/02/21 Javascript
jQuery之折叠面板的深入解析
2013/06/19 Javascript
JavaScript中匿名、命名函数的性能测试
2014/09/04 Javascript
浅谈Javascript数组索引
2015/07/29 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
2015/11/03 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
总结Javascript中数组各种去重的方法
2016/10/04 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
浅谈angularJS的$watch失效问题的解决方案
2017/08/11 Javascript
Angular实现双向折叠列表组件的示例代码
2017/11/21 Javascript
详解VueJs中的V-bind指令
2018/05/03 Javascript
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
完美解决通过IP地址访问VUE项目的问题
2020/07/18 Javascript
学习 Vue.js 遇到的那些坑
2021/02/02 Vue.js
python持久性管理pickle模块详细介绍
2015/02/18 Python
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
matplotlib作图添加表格实例代码
2018/01/23 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
2019/01/26 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
澳大利亚在线百货商店:Real Smart
2017/08/13 全球购物
文明寝室申报材料
2014/05/12 职场文书
本溪水洞导游词
2015/02/11 职场文书
考试没考好检讨书
2015/05/06 职场文书
golang import自定义包方式
2021/04/29 Golang