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分页函数
Jul 08 PHP
PHP 程序员应该使用的10个组件
Oct 31 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
Aug 01 PHP
提高PHP编程效率的53个要点(经验小结)
Sep 04 PHP
php一个找二层目录的小东东
Aug 02 PHP
PHP常用特殊运算符号和函数总结(php新手入门必看)
Feb 02 PHP
destoon实现公司新闻详细页添加评论功能的方法
Jul 15 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
Aug 21 PHP
ThinkPHP连接数据库及主从数据库的设置教程
Aug 22 PHP
注意!PHP 7中不要做的10件事
Sep 18 PHP
安装docker和docker-compose实例详解
Jul 30 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Mar 09 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 base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
php数组分页实现方法
2016/04/30 PHP
“不能执行已释放的Script代码”错误的原因及解决办法
2007/09/09 Javascript
jQuery $.each的用法说明
2010/03/22 Javascript
javascript中删除指定数组中指定的元素的代码
2011/02/12 Javascript
JavaScript使用IEEE 标准进行二进制浮点运算产生莫名错误的解决方法
2011/05/28 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
2013/03/15 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
jQuery中delegate与on的用法与区别示例介绍
2013/12/20 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
JavaScript定义变量和变量优先级问题探讨
2014/10/11 Javascript
浅谈jQuery中height与width
2015/07/06 Javascript
简介alert()与console.log()的不同
2015/08/26 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
2016/12/21 Javascript
webpack将js打包后的map文件详解
2018/02/22 Javascript
jquery的 filter()方法使用教程
2018/03/22 jQuery
jQuery中$原理实例分析
2018/08/13 jQuery
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
vue-cli3+typescript新建一个项目的思路分析
2019/08/06 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
2019/09/09 Javascript
详解JS函数防抖
2020/06/05 Javascript
Vue中computed和watch有哪些区别
2020/12/19 Vue.js
[43:14]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
Python数据类型学习笔记
2016/01/13 Python
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
python3.4 将16进制转成字符串的实例
2019/06/12 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
2019/07/22 Python
kafka-python 获取topic lag值方式
2019/12/23 Python
HTML5未来发展趋势
2016/02/01 HTML / CSS
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
英国门把手公司:Door Handle Company
2019/05/12 全球购物
个人四风问题对照检查材料思想汇报
2014/10/06 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
MySQL 8.0 Online DDL快速加列的相关总结
2021/06/02 MySQL