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 相关文章推荐
一个简单的自动发送邮件系统(二)
Oct 09 PHP
[转帖]PHP世纪万年历
Dec 06 PHP
PHP获得用户使用的代理服务器ip即真实ip
Dec 31 PHP
PHP 数组入门教程小结
May 20 PHP
用PHP编写和读取XML的几种方式
Jan 12 PHP
ThinkPHP之getField详解
Jun 20 PHP
PHP获取文件相对路径的方法
Feb 26 PHP
PHP里的单例类写法实例
Jun 25 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
php扩展开发入门demo示例
Sep 23 PHP
Yii 实现数据加密和解密
Mar 09 PHP
PHP 实现缩略图
Mar 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
那些年一起学习的PHP(三)
2012/03/22 PHP
PHP判断图片格式的七种方法小结
2013/06/03 PHP
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
2013/06/17 PHP
PHP生成自适应大小的缩略图类及使用方法分享
2014/05/06 PHP
thinkphp3.0输出重复两次的解决方法
2014/12/19 PHP
详解YII关联查询
2016/01/10 PHP
php cli模式下获取参数的方法
2017/05/05 PHP
php简单中奖算法(实例)
2017/08/15 PHP
PHP count_chars()函数讲解
2019/02/14 PHP
jQuery EasyUI中对表格进行编辑的实现代码
2010/06/10 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
实践中学习AngularJS表单
2016/03/21 Javascript
使用plupload自定义参数实现多文件上传
2016/07/19 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
2017/10/27 Javascript
React BootStrap用户体验框架快速上手
2018/03/06 Javascript
iview table高度动态设置方法
2018/03/14 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
wxPython框架类和面板类的使用实例
2014/09/28 Python
基于python时间处理方法(详解)
2017/08/14 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
在OpenCV里实现条码区域识别的方法示例
2019/12/04 Python
python3读取csv文件任意行列代码实例
2020/01/13 Python
Python Selenium参数配置方法解析
2020/01/19 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
python Xpath语法的使用
2020/11/26 Python
保护环境倡议书
2014/04/14 职场文书
国庆节演讲稿
2014/05/27 职场文书
党员对照检查材料思想汇报(党的群众路线)
2014/09/24 职场文书
公司行政主管岗位职责
2015/04/09 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书
介绍一下28个JS常用数组方法
2022/05/06 Javascript