PHP 数组排序
昨天刚和同事打电话聊了好久,发现我对于知识的了解还不足,他问我关于数组排序的问题,还有好几个问题,我也是一知半解的,所以觉得"好记性不如烂笔头",把每天学的记载下来与大家分享:
sort() 函数按升序对给定数组的值排序。
注释:本函数为数组中的单元赋予新的键名。原有的键名将被删除。
如果成功则返回 TRUE,否则返回 FALSE。
语法
sort(array,sorttype)
参数 | 描述 |
---|---|
array | 必需。输入的数组。 |
sorttype |
可选。规定如何排列数组的值。可能的值:
|
arsort() 函数对数组进行逆向排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。
可选的第二个参数包含了附加的排序标识。
如果成功则返回 TRUE,否则返回 FALSE。
语法
arsort(array,sorttype)
参数 | 描述 |
---|---|
array | 必需。输入的数组。 |
sorttype |
可选。规定如何排列数组的值。可能的值:
|
asort() 函数对数组进行排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。
可选的第二个参数包含了附加的排序标识。
如果成功则返回 TRUE,否则返回 FALSE。
语法
asort(array,sorttype)
参数 | 描述 |
---|---|
array | 必需。输入的数组。 |
sorttype |
可选。规定如何排列数组的值。可能的值:
|
krsort() 函数将数组按照键逆向排序,为数组值保留原来的键。
可选的第二个参数包含附加的排序标志。
若成功,则返回 TRUE,否则返回 FALSE。
语法
krsort(array,sorttype)
参数 | 描述 |
---|---|
array | 必需。规定要排序的数组。 |
sorttype |
可选。规定如何排列数组的值。可能的值:
|
ksort() 函数按照键名对数组排序,为数组值保留原来的键。
可选的第二个参数包含附加的排序标志。
若成功,则返回 TRUE,否则返回 FALSE。
语法
ksort(array,sorttype)
参数 | 描述 |
---|---|
array | 必需。规定要排序的数组。 |
sorttype |
可选。规定如何排列数组的值。可能的值:
|
natcasesort() 函数用不区分大小写的自然顺序算法对给定数组中的元素排序。
natcasesort() 函数实现了“自然排序”,即数字从 1 到 9 的排序方法,字母从 a 到 z 的排序方法,短者优先,该函数不区分大小写。数组的索引与单元值保持关联。
如果成功,则该函数返回 TRUE,否则返回 FALSE。
语法
natcasesort(array)
参数 | 描述 |
---|---|
array | 必需。规定要进行排序的数组。 |
natsort() 函数用自然顺序算法对给定数组中的元素排序。
natsort() 函数实现了“自然排序”,即数字从 1 到 9 的排序方法,字母从 a 到 z 的排序方法,短者优先。数组的索引与单元值保持关联。
如果成功,则该函数返回 TRUE,否则返回 FALSE。
语法
natsort(array)
参数 | 描述 |
---|---|
array | 必需。规定要进行排序的数组。 |
uasort() 函数使用用户自定义的比较函数对数组排序,并保持索引关联(不为元素分配新的键)。
如果成功则返回 TRUE,否则返回 FALSE。
该函数主要用于对那些单元顺序很重要的结合数组进行排序。
语法
uasort(array,sorttype)
参数 | 描述 |
---|---|
array | 必需。规定要排序的数组。 |
function |
必需。用户自定义的函数。 函数必须设计为返回 -1, 0, 或 1,并应该接受两个供比较的参数,同时以类似下面这样的方式来工作:
|
uksort() 函数使用用户自定义的比较函数按照键名对数组排序,并保持索引关系。
如果成功则返回 TRUE,否则返回 FALSE。
如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。
自定义函数应接受两个参数,该参数将被数组中的一对键名填充。比较函数在第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。
语法
uksort(array,sorttype)
参数 | 描述 |
---|---|
array | 必需。规定要排序的数组。 |
function |
必需。用户自定义的函数。 函数必须设计为返回 -1, 0, 或 1,并应该接受两个供比较的参数,同时以类似下面这样的方式来工作:
|
usort() 函数使用用户自定义的函数对数组排序。
注释:如果两个元素比较结果相同,则它们在排序后的数组中的顺序未经定义。到 PHP 4.0.6 之前,用户自定义函数将保留这些元素的原有顺序。但是由于在 4.1.0 中引进了新的排序算法,结果将不是这样了,因为对此没有一个有效的解决方案。
注释:本函数为 array 中的元素赋予新的键名。这会删除原有的键名。
语法
usort(array,sorttype)
参数 | 描述 |
---|---|
array | 必需。规定要排序的数组。 |
function |
必需。用户自定义的函数。 函数必须设计为返回 -1, 0, 或 1,并应该接受两个供比较的参数,同时以类似下面这样的方式来工作:
|