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 相关文章推荐
基于PHP与XML的PDF文档生成技术
Oct 09 PHP
类的另类用法--数据的封装
Oct 09 PHP
ThinkPHP分页类使用详解
Mar 05 PHP
php操作XML、读取数据和写入数据的实现代码
Aug 15 PHP
php从完整文件路径中分离文件目录和文件名的方法
Mar 13 PHP
php实现过滤字符串中的中文和数字实例
Jul 29 PHP
简单了解PHP编程中数组的指针的使用
Nov 30 PHP
PHP的时间戳与具体时间转化的简单实现
Jun 13 PHP
yii2缓存Caching基本用法示例
Jul 18 PHP
Linux系统中为php添加pcntl扩展
Aug 28 PHP
PHP attributes()函数讲解
Feb 03 PHP
PHP INT类型在内存中占字节详解
Jul 20 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
Laravel5.4简单实现app接口Api Token认证方法
2019/08/29 PHP
对象特征检测法判断浏览器对javascript对象的支持
2009/07/25 Javascript
Zero Clipboard js+swf实现的复制功能使用方法
2010/03/07 Javascript
DOM2非标准但却支持很好的几个属性小结
2012/01/21 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
Extjs4实现两个GridPanel之间数据拖拽功能具体方法
2013/11/21 Javascript
jquery xMarquee实现文字水平无缝滚动效果
2014/04/29 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
Bootstrap编写一个在当前网页弹出可关闭的对话框 非弹窗
2016/06/30 Javascript
vue.js学习之vue-cli定制脚手架详解
2017/07/02 Javascript
关于jquery form表单序列化的注意事项详解
2017/08/01 jQuery
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
2020/04/24 Javascript
Ant-design-vue Table组件customRow属性的使用说明
2020/10/28 Javascript
Pyhton中防止SQL注入的方法
2015/02/05 Python
高效测试用例组织算法pairwise之Python实现方法
2017/07/19 Python
python实现在IDLE中输入多行的方法
2018/04/19 Python
Python通过调用有道翻译api实现翻译功能示例
2018/07/19 Python
Django REST Framework序列化外键获取外键的值方法
2019/07/26 Python
详解Python打包分发工具setuptools
2019/08/05 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
2020/05/03 Python
python 自动识别并连接串口的实现
2021/01/19 Python
网站性能延迟加载图像的五种技巧(小结)
2020/08/13 HTML / CSS
比驿:全球酒店比价网
2018/06/20 全球购物
阿玛尼美妆俄罗斯官网:Giorgio Armani Beauty RU
2020/07/19 全球购物
J2EE包括哪些技术
2016/11/25 面试题
CAD制图设计师自荐信
2014/01/29 职场文书
担保书怎么写
2014/04/01 职场文书
反腐倡廉警示教育活动总结
2014/05/05 职场文书
共产党员岗位承诺书
2014/05/29 职场文书
优秀班主任材料
2014/12/16 职场文书
入党团支部推荐意见
2015/06/02 职场文书
2019最新婚庆对联集锦!
2019/07/10 职场文书
go类型转换及与C的类型转换方式
2021/05/05 Golang
SQL基础的查询语句
2021/11/11 MySQL
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS