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 相关文章推荐
PHP4实际应用经验篇(2)
Oct 09 PHP
php合并数组array_merge函数运算符加号与的区别
Oct 31 PHP
PHP中数组的三种排序方法分享
May 07 PHP
php pki加密技术(openssl)详解
Jul 01 PHP
php解析html类库simple_html_dom(详细介绍)
Jul 05 PHP
php中stream(流)的用法
Mar 25 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
Oct 23 PHP
php实现格式化多行文本为Js可用格式
Apr 15 PHP
简单谈谈php中的unicode和utf8编码
Jun 10 PHP
Cygwin中安装PHP方法步骤
Jul 04 PHP
46 个非常有用的 PHP 代码片段
Feb 16 PHP
PHP开发实现微信退款功能示例
Nov 25 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
PHP通用分页类page.php[仿google分页]
2008/08/31 PHP
PHP调用Webservice实例代码
2011/07/29 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
php自定义函数实现统计中文字符串长度的方法小结
2017/04/15 PHP
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
基于jquery中children()与find()的区别介绍
2013/04/26 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
2013/12/27 Javascript
快速解决jQuery与其他库冲突的方法介绍
2014/01/02 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
使用GruntJS构建Web程序之构建篇
2014/06/04 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
AngularJS使用angular-formly进行表单验证
2015/12/27 Javascript
jQuery实现简单的DIV拖动效果
2016/02/19 Javascript
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
通过C++学习Python
2015/01/20 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
2018/02/13 Python
基于python 二维数组及画图的实例详解
2018/04/03 Python
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
Django密码系统实现过程详解
2019/07/19 Python
Django框架 查询Extra功能实现解析
2019/09/04 Python
用css3写出气球样式的示例代码
2017/09/11 HTML / CSS
马来西亚最好的婴儿商店:Motherhood
2017/09/14 全球购物
linux面试题参考答案(11)
2016/11/26 面试题
绘画设计学生的个人自我评价
2013/09/20 职场文书
通信生自我鉴定
2014/01/18 职场文书
班班通项目实施方案
2014/02/25 职场文书
村庄绿化方案
2014/05/07 职场文书
行政复议决定书
2015/06/24 职场文书
mysql优化之query_cache_limit参数说明
2021/07/01 MySQL