php下将多个数组合并成一个数组的方法与实例代码


Posted in PHP onFebruary 03, 2011

1.合并数组
array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。其形式为:

array array_merge (array array1 array2…,arrayN)

将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
实例如下:
$face = array("J","Q","K","A"); 
$numbered = array("2","3","4","5","6","7","8","9"); 
$cards = array_merge($face, $numbered); 
shuffle($cards); 
print_r($cards);

这将返回如下所示的结果,运行代码:
Array ( [0] => A [1] => 4 [2] => 9 [3] => 3 [4] => K [5] => 7 [6] => 5 [7] => Q [8] => 6 [9] => 8 [10] => 2 [11] => J )

2.递归追加数组
array_merge_recursive()函数与array_merge()相同,可以将两个或多个数组合并在一起,形成一个联合的数组.两者之间的区别在于,当某个输入数组中的某个键己经存在于结果数组中时该函数会采取不同的处理方式.array_merge()会覆盖前面存在的键/值对,替换为当前输入数组中的键/值对,而array_merge_recursive()将把两个值合并在一起,形成一个新的数组,并以原有的键作为数组名。还有一个数组合并的形式,就是递归追加数组。其形式为:
view sourceprint?array array_merge_recursive( array key,array values )

示例如下:

$class1 = array("John" => 100, "James" => 85); 
$class2 = array("Micky" => 78, "John" => 45); 
$classScores = array_merge_recursive($class1, $class2); 
print_r($classScores);

这将返回如下结果:
view sourceprint?Array ( [John] => Array ( [0] => 100 [1] => 45 ) [James] => 85 [Micky] => 78 )

3.连接两个数组
array_combine()函数会得到一个新数组,它由一组提交的键和对应的值组成。其形式为:
view sourceprint?array array_merge(array array1,array array2[…,array arrayN])

注意,两个输入数组必须大小相同,不能为空。示例如下:

$abbreviations = array("AL","AK","AZ","AR"); 
$states = array("Alabama","Alaska","Arizona","Arkansas"); 
$stateMap = array_combine($abbreviations,$states); 
print_r($stateMap);

这会返回:
Array ( [AL] => Alabama [AK] => Alaska [AZ] => Arizona [AR] => Arkansas )
PHP 相关文章推荐
再次研究下cache_lite
Feb 14 PHP
优化使用mysql存储session的php代码
Jan 10 PHP
PHP三元运算符的结合性介绍
Jan 10 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
Jun 20 PHP
ThinkPHP3.1的Widget新用法
Jun 19 PHP
PHP四舍五入、取整、round函数使用示例
Feb 06 PHP
php实现scws中文分词搜索的方法
Dec 25 PHP
如何使用微信公众平台开发模式实现多客服
Jan 06 PHP
php的优点总结 php有哪些优点
Jul 19 PHP
Laravel框架之解决前端显示图片问题
Oct 24 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 24 PHP
php TP5框架生成二维码链接
Apr 01 PHP
PHP操作数组相关函数
Feb 03 #PHP
php做下载文件的实现代码及文件名中乱码解决方法
Feb 03 #PHP
PHP+SQL 注入攻击的技术实现以及预防办法
Jan 27 #PHP
php5 apache 2.2 webservice 创建与配置(java)
Jan 27 #PHP
使用XDebug调试及单元测试覆盖率分析
Jan 27 #PHP
仿AS3实现PHP 事件机制实现代码
Jan 27 #PHP
PHP 命名空间实例说明
Jan 27 #PHP
You might like
Windows中安装Apache2和PHP4权威指南
2006/11/18 PHP
收集的DedeCMS一些使用经验
2007/03/17 PHP
PHP读取PPT文件的方法
2015/12/10 PHP
IE与FireFox的兼容性问题分析
2007/04/22 Javascript
Zero Clipboard js+swf实现的复制功能使用方法
2010/03/07 Javascript
jQuery.Validate 使用笔记(jQuery Validation范例 )
2010/06/25 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
2016/12/16 Javascript
ajax接收后台数据在html页面显示
2017/02/19 Javascript
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
js 判断一个数字是不是2的n次方幂的实例
2017/11/26 Javascript
electron demo项目npm install安装失败的解决方法
2018/02/06 Javascript
JavaScript 判断对象中是否有某属性的常用方法
2018/06/14 Javascript
解决vue更新路由router-view复用组件内容不刷新的问题
2019/11/04 Javascript
vue路由结构可设一层方便动态添加路由操作
2020/08/31 Javascript
python实现括号匹配的思路详解
2018/08/23 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
python热力图实现简单方法
2021/01/29 Python
请解释接口的显式实现有什么意义
2012/05/26 面试题
会计专业毕业生推荐信
2013/11/05 职场文书
校运会口号
2014/06/18 职场文书
学校四风对照检查材料
2014/08/28 职场文书
肖申克的救赎观后感
2015/06/02 职场文书
2016年读书月活动总结范文
2016/04/06 职场文书
大学生各类奖学金申请书
2019/06/24 职场文书
优秀大学生申请书
2019/06/24 职场文书
竞选稿之小学班干部
2019/10/31 职场文书
Python如何利用正则表达式爬取网页信息及图片
2021/04/17 Python
CSS实现隐藏搜索框功能(动画正反向序列)
2021/07/21 HTML / CSS
create-react-app开发常用配置教程
2022/06/25 Javascript
postgresql如何找到表中重复数据的行并删除
2023/05/08 MySQL