深入理解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) }
关联(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) }
相关文章推荐
- 深入理解PHP原理之异常机制
- 深入理解PHP原理之Opcodes
- 深入理解PHP原理之Session Gc的一个小概率Notice
- PHP 多维数组根据其中一个字段的值排序
- 深入理解PHP原理之变量(Variables inside PHP)
- 深入理解PHP之数组(遍历顺序)
- php多维数组排序
- 深入理解PHP原理之Opcodes
- php多维数组按用户自定义顺序排序uasort()
- php多维数组的排序
- PHP多维数组差集、排序
- php 一维数组排序与多维数组排序
- PHP实现指定字段的多维数组排序函数分享
- 深入理解PHP原理之foreach
- 深入理解PHP原理之Session Gc的一个小概率Notice
- 深入理解PHP原理之错误抑制与内嵌HTML
- 深入理解PHP原理之Opcodes
- 深入理解PHP Opcode缓存原理
- php session原理深入理解(禁用cookie和自定义session)
- 深入理解PHP 数组之count 函数