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 相关文章推荐
用libtemplate实现静态网页生成
Oct 09 PHP
PHP新手上路(七)
Oct 09 PHP
Ajax PHP分页演示
Jan 02 PHP
PHP中使用CURL伪造来路抓取页面或文件
May 04 PHP
php数组的概述及分类与声明代码演示
Feb 26 PHP
phpmyadmin config.inc.php配置示例
Aug 27 PHP
php过滤XSS攻击的函数
Nov 12 PHP
thinkphp3查询mssql数据库乱码解决方法分享
Feb 11 PHP
PHP实现多文件上传的方法
Jul 08 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
Apr 28 PHP
Laravel-admin之修改操作日志的方法
Sep 30 PHP
php + ajax 实现的写入数据库操作简单示例
May 16 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实现腾讯短网址生成api接口实例
2020/12/08 PHP
onclick与listeners的执行先后问题详细解剖
2013/01/07 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
jquery点击页面任何区域实现鼠标焦点十字效果
2013/06/21 Javascript
百度判断手机终端并自动跳转js代码及使用实例
2014/06/11 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
JavaScript实现url参数转成json形式
2016/09/25 Javascript
JavaScript 数据类型详解
2017/03/13 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
vue ajax 拦截原理与实现方法示例
2019/11/29 Javascript
JavaScript 判断浏览器是否是IE
2021/02/19 Javascript
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
Python最长公共子串算法实例
2015/03/07 Python
python控制台中实现进度条功能
2015/11/10 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
2018/01/10 Python
python实现判断一个字符串是否是合法IP地址的示例
2018/06/04 Python
Python测试网络连通性示例【基于ping】
2018/08/03 Python
Python装饰器简单用法实例小结
2018/12/03 Python
Python面向对象之类的定义与继承用法示例
2019/01/14 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
2019/07/31 Python
浅谈matplotlib.pyplot与axes的关系
2020/03/06 Python
Keras - GPU ID 和显存占用设定步骤
2020/06/22 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
2020/07/13 Python
ShellScript面试题一则-ShellScript编程
2014/06/24 面试题
致标枪运动员广播稿
2014/02/06 职场文书
西式婚礼主持词
2014/03/13 职场文书
勤俭节约倡议书
2014/04/14 职场文书
演讲稿格式
2014/04/30 职场文书
村庄环境整治方案
2014/05/15 职场文书
助残日活动总结
2014/08/27 职场文书
行政处罚告知书
2015/07/01 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书
Go语言中break label与goto label的区别
2021/04/28 Golang
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
2021/10/16 Python
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python