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 相关文章推荐
推荐一篇入门级的Class文章
Mar 19 PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
Mar 11 PHP
基于xcache的配置与使用详解
Jun 18 PHP
php curl获取网页内容(IPV6下超时)的解决办法
Jul 16 PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
Sep 09 PHP
2款PHP无限级分类实例代码
Nov 11 PHP
ThinkPHP发送邮件示例代码
Oct 08 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
Apr 20 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
Aug 30 PHP
PDO::query讲解
Jan 29 PHP
php layui实现前端多图上传实例
Jul 30 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 创建标签云函数代码
2010/05/26 PHP
Ajax+PHP快速上手及简单应用说明
2013/07/24 PHP
php另类上传图片的方法(PHP用Socket上传图片)
2013/10/30 PHP
PHP Ajax实现无刷新附件上传
2016/08/17 PHP
PHP实现的简单组词算法示例
2018/04/10 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
Javascript 代码也可以变得优美的实现方法
2009/06/22 Javascript
jquery插件validate验证的小例子
2013/05/08 Javascript
js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
2014/03/22 Javascript
javascript控制在光标位置插入文字适合表情的插入
2014/06/09 Javascript
JS交换变量的方法
2015/01/21 Javascript
JavaScript编写Chrome扩展实现与浏览器的交互及时间通知
2016/05/16 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
js下拉菜单生成器dropMenu使用方法详解
2017/08/01 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
layui多图上传实现删除功能的例子
2019/09/23 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
[01:10]DOTA2英雄背景故事第四期之混沌法则混沌骑士
2020/07/16 DOTA
详解Python中expandtabs()方法的使用
2015/05/18 Python
python二分查找算法的递归实现方法
2016/05/12 Python
分享Python切分字符串的一个不错方法
2018/12/14 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
python单例模式的多种实现方法
2019/07/26 Python
HTML5的结构和语义(5):交互
2008/10/17 HTML / CSS
html5使用canvas画一条线
2014/12/15 HTML / CSS
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
Bose英国官方网站:美国知名音响品牌
2020/01/26 全球购物
入党申请自荐书范文
2014/02/11 职场文书
元宵节主持词
2014/03/25 职场文书
家长给学校的建议书
2014/05/15 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书
节水宣传标语口号
2015/12/26 职场文书
golang 语言中错误处理机制
2021/08/30 Golang
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server