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 高手之路(三)
Oct 09 PHP
PHP session有效期session.gc_maxlifetime
Apr 20 PHP
关于PHP内存溢出问题的解决方法
Jun 25 PHP
PHP上传文件时自动分配路径的方法
Jan 09 PHP
linux下实现定时执行php脚本
Feb 13 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
Dec 10 PHP
PHP设计模式之工厂模式定义与用法详解
Apr 03 PHP
php使用环形链表解决约瑟夫问题完整示例
Aug 07 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
Jun 14 PHP
Laravel框架处理用户的请求操作详解
Dec 20 PHP
Laravel 集成微信用户登录和绑定的实现
Dec 27 PHP
TP5框架实现签到功能的方法分析
Apr 05 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
使用adodb lite解决问题
2006/12/31 PHP
php引用计数器进行垃圾收集机制介绍
2012/09/19 PHP
PHP命名空间(namespace)的动态访问及使用技巧
2014/08/18 PHP
Laravel 5框架学习之Eloquent 关系
2015/04/09 PHP
php单例模式的简单实现方法
2016/06/10 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
Javascript浅谈之this
2013/12/17 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
javascript设计模式之单体模式学习笔记
2017/02/15 Javascript
用JavaScript和jQuery实现瀑布流
2017/03/19 Javascript
jQuery使用bind函数实现绑定多个事件的方法
2017/10/11 jQuery
原生js实现仿window10系统日历效果的实例
2017/10/31 Javascript
使用webpack将ES6转化ES5的实现方法
2019/10/13 Javascript
Vue 实现从小到大的横向滑动效果详解
2019/10/16 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
js实现div色块碰撞
2020/01/16 Javascript
node+multer实现图片上传的示例代码
2020/02/18 Javascript
Javascript执行流程细节原理解析
2020/05/14 Javascript
Python中获取网页状态码的两个方法
2014/11/03 Python
python开发之IDEL(Python GUI)的使用方法图文详解
2015/11/12 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
Python 利用flask搭建一个共享服务器的步骤
2020/12/05 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
2013/04/28 面试题
经理秘书求职自荐信范文
2014/03/23 职场文书
2014年十八届四中全会思想汇报范文
2014/10/17 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
数据库连接池
2021/04/06 MySQL
php+laravel 扫码二维码签到功能
2021/05/15 PHP
浅谈redis缓存在项目中的使用
2021/05/20 Redis
Python中itertools库的四个函数介绍
2022/04/06 Python
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python