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三层结构(上) 简单三层结构
Jul 04 PHP
php 对输入信息的进行安全过滤的函数代码
Jun 29 PHP
php漏洞之跨网站请求伪造与防止伪造方法
Aug 15 PHP
ThinkPHP分组下自定义标签库实例
Nov 01 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
Mar 16 PHP
php使用Imagick生成图片的方法
Jul 31 PHP
PHP邮箱验证示例教程
Jun 01 PHP
php操纵mysqli数据库的实现方法
Sep 18 PHP
轻松实现php文件上传功能
Feb 17 PHP
php实现的二分查找算法示例
Jun 20 PHP
PHP实现cookie跨域session共享的方法分析
Aug 23 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
Nov 09 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
Zend Studio (eclipse)使用速度优化方法
2011/03/23 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
php插入排序法实现数组排序实例
2015/02/16 PHP
php中smarty实现多模版网站的方法
2015/06/11 PHP
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
2010/10/26 Javascript
document.getElementById获取控件对象为空的解决方法
2013/11/20 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
招聘网站基于jQuery实现自动刷新简历
2015/05/10 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
jquery转盘抽奖功能实现
2015/11/13 Javascript
学习JavaScript设计模式之模板方法模式
2016/01/20 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
2016/09/19 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
基于jQuery实现文字打印动态效果
2017/04/21 jQuery
浅谈angularjs中响应回车事件
2017/04/24 Javascript
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
JavaScript构造函数原理及实现流程解析
2020/11/19 Javascript
[06:38]DOTA2怒掀电竞风暴 2013Chinajoy
2013/07/27 DOTA
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
Python交换变量
2008/09/06 Python
动态创建类实例代码
2009/10/07 Python
Python和GO语言实现的消息摘要算法示例
2015/03/10 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
Python基于WordCloud制作词云图
2019/11/29 Python
Python序列类型的打包和解包实例
2019/12/21 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
编写python代码实现简单抽奖器
2020/10/20 Python
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
英国奢侈品概念店:Base Blu
2019/05/16 全球购物
家长给孩子的表扬信
2014/01/17 职场文书
优秀民警事迹材料
2014/01/29 职场文书
小学中秋节活动方案
2014/02/06 职场文书
怎么写自荐书范文
2014/02/12 职场文书
个人维稳承诺书
2015/05/04 职场文书
python基于tkinter制作m3u8视频下载工具
2021/04/24 Python