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编写PDF文档生成器
Oct 09 PHP
php面向对象全攻略 (十六) 对象的串行化
Sep 30 PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
Aug 20 PHP
php开发中的页面跳转方法总结
Apr 26 PHP
如何利用http协议发布博客园博文评论
Aug 03 PHP
修改Laravel5.3中的路由文件与路径
Aug 10 PHP
PHP微信红包生成代码分享
Oct 06 PHP
php制作基于xml的RSS订阅源功能示例
Feb 08 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
May 20 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 PHP
PHP convert_cyr_string()函数讲解
Feb 13 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
如何过滤高亮显示非法字符
2006/10/09 PHP
php学习之 认清变量的作用范围
2010/01/26 PHP
Apache 配置详解(最好的APACHE配置教程)
2010/07/04 PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
2011/11/02 PHP
PHP关联链接常用代码
2012/11/05 PHP
PHP数据过滤的方法
2013/10/30 PHP
php检测url是否存在的方法
2015/04/14 PHP
php遍历CSV类实例
2015/04/14 PHP
PHP实现上传文件并存进数据库的方法
2015/07/16 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
js树形控件脚本代码
2008/07/24 Javascript
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
JqGrid web打印实现代码
2011/05/31 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
2011/09/10 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
2016/12/29 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
2017/05/02 Javascript
利用Angular.js编写公共提示模块的方法教程
2017/05/28 Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
2017/07/03 Javascript
jquery拖动改变div大小
2017/07/04 jQuery
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
js中的面向对象之对象常见创建方法详解
2019/12/16 Javascript
React Native中ScrollView组件轮播图与ListView渲染列表组件用法实例分析
2020/01/06 Javascript
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
浅析python递归函数和河内塔问题
2017/04/18 Python
python使用zip将list转为json的方法
2018/12/31 Python
python判断是空的实例分享
2020/07/06 Python
CSS3动画之流彩文字效果+图片模糊效果+边框伸展效果实现代码合集
2017/08/18 HTML / CSS
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
保密工作责任书
2014/04/16 职场文书
员工教育培训协议书
2014/09/27 职场文书
2019年教师节活动策划方案
2019/09/09 职场文书
Redis实现短信验证码登录的示例代码
2022/06/14 Redis
CSS使用Flex和Grid布局实现3D骰子
2022/08/05 HTML / CSS