《PHP二维数组的简易排序.doc》由会员分享,可在线阅读,更多相关《PHP二维数组的简易排序.doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、PHP二维数组的简易排序2011-03-20有时候我们需要对二维数组的某个键的值进行排序,这里就是讨论这个问题。我们可以使用array_multisort()这个函数。array_multisort() 函数对多个数组或多维数组进行排序。参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志(排序标志用于更改默认的排列顺序)之一: SORT_ASC - 默认,按
2、升序排列。(A-Z) SORT_DESC - 按降序排列。(Z-A)随后可以指定排序的类型: SORT_REGULAR - 默认。将每一项按常规顺序排列。 SORT_NUMERIC - 将每一项按数字顺序排列。 SORT_STRING - 将每一项按字母顺序排列。语法:array_multisort(array1,sorting order,sorting type,array2,array3.) array1:必需。规定输入的数组。 sorting order:可选。规定排列顺序。可能的值是 SORT_ASC 和 SORT_DESC。 sorting type:可选。规定排序类型。可能的值是
3、SORT_REGULAR、SORT_NUMERIC和SORT_STRING。 array2:可选。规定输入的数组。 array3:可选。规定输入的数组。字符串键名将被保留,但是数字键将被重新索引,从 0 开始,并以 1 递增。可以在每个数组后设置排序顺序和排序类型。如果没有设置,每个数组参数会使用默认值。下面是一个例子:01?php0203$arr = ;0405echo 二维数组如下:.;06for($i=0; $i=5; $i+)0708$arr$ival = mt_rand(1, 100);09$arr$inum = mt_rand(1, 100);101112echo ;13print
4、_r($arr);14echo ;1516echo 从二维数组中抽出键为val,单独成另一个数组:.;17foreach ($arr as $key = $row) 1819$vals$key = $rowval;20$nums$key = $rownum;212223echo ;24print_r($vals);25echo ;2627echo 对其进行排序:.;28array_multisort($vals, SORT_ASC, $arr);2930echo ;31print_r($vals);32echo ;3334?运行结果:01二维数组如下:02Array03(040 = Array
5、05(06val = 4607num = 4908)09101 = Array11(12val = 813num = 2414)15162 = Array17(18val = 3719num = 320)21223 = Array23(24val = 3225num = 3526)27284 = Array29(30val = 1931num = 3832)33345 = Array35(36val = 3037num = 3738)3940)41从二维数组中抽出键为val,单独成另一个数组:42Array43(440 = 46451 = 8462 = 37473 = 32484 = 1949
6、5 = 3050)51对其进行排序:52Array53(540 = 8551 = 19562 = 30573 = 32584 = 37595 = 4660)我们将得到一个按val升序排序的二维数组。随机文章推荐 用PHP数组实现交叉表 PHP 面向对象:设计模式之单例模式 PHP函数补完计划:substr_replace()函数 了解PHP的代理Proxy模式 PHP 面向对象实例:创建用户类 什么样的PHP代码才算优秀 调用类的静态方法生成强密码 PHP中面向对象设计的经验总结 获取数组中的随机元素 PHP的异常处理与错误处理 PHP List() 函数介绍 分拆数组元素的函数效率比较与分析
7、网站分类 HTML (44) CSS (105) JavaScript (232) JQuery (53) Ajax (34) PHP (314) Java (39) C/C+ (35) ActionScript (21) PhotoShop (4) XML (1) WordPress (9) 数据结构 (14) 计算机算法 (56) 数据库技术 (66) 操作系统 (1) 互联网时代 (160) 软件项目 (27) 编程思想 (57) 搜索引擎优化 (31) Web设计理念 (77) 软件架构技术 (31) 信息化工具 (12) 广告设计 (7) 程序人生 (18) 喃喃细语 (61) 注:如需转载本文,请注明出处(原文链接),谢谢。更多精彩内容,请进入简明现代魔法首页。