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 相关文章推荐
对Session和Cookie的区分与解释
Mar 16 PHP
PHP运行时强制显示出错信息的代码
Apr 20 PHP
php静态文件返回304技巧分享
Jan 06 PHP
php为字符串前后添加指定数量字符的方法
May 04 PHP
PHP脚本自动识别验证码查询汽车违章
Dec 20 PHP
Laravel如何友好的修改.env配置文件详解
Jun 07 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
Sep 27 PHP
关于php支持的协议与封装协议总结(推荐)
Nov 17 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
Apr 05 PHP
laravel-admin 在列表页添加自定义按钮的例子
Sep 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
模板引擎Smarty深入浅出介绍
2006/12/06 PHP
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
thinkPHP分组后模板无法加载问题解决方法
2016/07/12 PHP
PHP判断密码强度的方法详解
2017/05/26 PHP
php多进程应用场景实例详解
2019/07/22 PHP
jQuery中创建实例与原型继承揭秘
2011/12/21 Javascript
javascript学习笔记(五) Array 数组类型介绍
2012/06/19 Javascript
jquery如何把参数列严格转换成数组实现思路
2013/04/01 Javascript
js call方法详细介绍(js 的继承)
2013/11/18 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
2015/03/21 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
2017/05/09 Javascript
vue2的todolist入门小项目的详细解析
2017/05/11 Javascript
AngularJS获取json数据的方法详解
2017/05/27 Javascript
JavaScript函数绑定用法实例分析
2017/11/14 Javascript
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
JS精确判断数据类型代码实例
2019/12/18 Javascript
基于JavaScript判断两个对象内容是否相等
2020/01/10 Javascript
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
[01:36]极致酷炫!TI9典藏宝瓶+撼地者至宝展示
2019/06/11 DOTA
Python openpyxl 遍历所有sheet 查找特定字符串的方法
2018/12/10 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
tensorflow生成多个tfrecord文件实例
2020/02/17 Python
Html5 video标签视频的最佳实践
2020/02/26 HTML / CSS
巴黎卡诗美国官方网站:始于1964年的头发头皮护理专家
2017/07/10 全球购物
Nike香港官网:Nike HK
2019/03/23 全球购物
什么是命名空间(NameSpace)
2015/11/24 面试题
JAVA软件工程师测试题
2014/07/25 面试题
经理管理专业毕业自荐书范文
2014/02/12 职场文书
总裁助理岗位职责
2014/02/17 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
2015年林业工作总结
2015/05/14 职场文书
工厂无线对讲系统解决方案
2022/02/18 无线电