您的位置:首页 > 编程语言 > PHP开发

深入理解PHP多维数组排序原理

2013-09-04 21:46 225 查看
随着时代的发展,喜欢用PHP语言的人越来越多,我们这里就回顾一下PHP多维数组排序的功能,希望大家能得到收获。如果成功则返回 TRUE,失败则返回 FALSE。array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对PHP多维数组排序。
关联(string)键名保持不变,但数字键名会被重新索引。输入数组被当成一个表的列并以行来排序――这类似于 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话就按照下一个输入数组中相应值的大小来排序,依此类推。本函数的参数结构有些不同寻常,但是非常灵活。第一个参数必须是一个数组。接下来的每个参数可以是数组或者是下面列出的排序标志。
排序顺序标志:
◆SORT_ASC - 按照上升顺序排序
◆SORT_DESC - 按照下降顺序排序
排序类型标志:
◆SORT_REGULAR - 将项目按照通常方法比较
◆SORT_NUMERIC - 将项目按照数值比较
◆SORT_STRING - 将项目按照字符串比较
每个数组之后不能指定两个同类的排序标志。每个数组后指定的排序标志仅对该数组有效 - 在此之前为默认值 SORT_ASC 和 SORT_REGULAR。
例子 1. 对PHP多维数组排序
<?php $ar1 = array("10", 100, 100, "a"); $ar2 = array(1, 3, "2", 1); array_multisort($ar1, $ar2); var_dump($ar1); var_dump($ar2); ?> 本例中经过排序后,第一个数组将包含 "10","a",100,100。第二个数组将包含 1,1,"2",3。第二个数组中的项目顺序完全和第一个数组中相应的项目(100 和 100)顺序一致。
array(4) { [0]=> string(2) "10" [1]=> string(1) "a" [2]=> int(100) [3]=> int(100) } array(4) { [0]=> int(1) [1]=> int(1) [2]=> string(1) "2" [3]=> int(3) }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: