PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
sort()函数用于对数组单元从低到高进行排序。
rsort()函数用于对数组单元从高到低进行排序。
asort()函数用于对数组单元从低到高进行排序并保持索引关系。
arsort()函数用于对数组单元从高到低进行排序并保持索引关系。
ksort()函数用于对数组单元按照键名从低到高进行排序。
krsort()函数用于对数组单元按照键名从高到低进行排序。
sort()
PHPsort()函数用于对数组单元从低到高进行排序,如果成功则返回TRUE,失败则返回FALSE。
注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。
语法:
boolsort(array&array[,intsort_flags])
可选参数sort_flags用于改变排序的行为:
sort_flags取值说明
SORT_REGULAR正常比较单元
SORT_NUMERIC单元被作为数字来比较
SORT_STRING单元被作为字符串来比较
SORT_LOCALE_STRING根据当前的区域(locale)设置来把单元当作字符串比较
例子:
$arr=array("b","a","c"); sort($arr); print_r($arr); ?>
运行该例子输出:
Array([0]=>a[1]=>b[2]=>c)
在本例中,$arr数组单元被按照字母顺序排序,而数组单元经过排序后,键值重新分配。
rsort()
PHPrsort()函数行为与sort()相反,对数组单元进行由高到低排序,请参考sort()函数使用。
asort()
PHPasort()函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回TRUE,失败则返回FALSE。
语法:
boolasort(array&array[,intsort_flags])
可选参数sort_flags用以改变排序的行为,具体参见sort()。
例子:
$arr=array("b","a","c"); asort($arr); print_r($arr); ?>
运行该例子输出:
Array([1]=>a[0]=>b[2]=>c)
arsort()
PHParsort()函数行为与asort()相反,对数组单元进行由高到低排序并保持索引关系,请参考asort()函数使用。
ksort()
PHPksort()函数用于对数组单元按照键名从低到高进行排序,如果成功则返回TRUE,失败则返回FALSE。
本函数会保留原来的键名,因此常用于关联数组。
语法:
boolksort(array&array[,intsort_flags])
可选参数sort_flags用以改变排序的行为,具体参见sort()。
例子:
$arr=array("b"=>18,"a"=>20,"c"=>25); ksort($arr); print_r($arr); ?>
运行该例子输出:
Array([a]=>20[b]=>18[c]=>25)
krsort()
PHPkrsort()函数行为与ksort()相反,对数组单元按照键名进行由高到低排序,请参考ksort()函数使用。