对数组进行排序

PHP 有一些用来排序数组的函数, 这个文档会把它们列出来。

主要区别有:

  • 有些函数基于 array 的键来排序, 而其他的基于值来排序的:$array['key'] = 'value';
  • 排序之后键和值之间的关联关系是否能够保持, 是指排序之后数组的键可能 会被重置为数字型的(0,1,2 ...)。
  • 排序的顺序有:字母表顺序, 由低到高(升序), 由高到低(降序),数字排序,自然排序,随机顺序或者用户自定义排序。
  • 注意:下列的所有排序函数都是直接作用于数组本身, 而不是返回一个新的有序的数组。
  • 以下函数对于数组中相等的元素,它们在排序后的顺序是未定义的。 (也即相等元素之间的顺序是不稳定的)。
函数名称排序依据数组索引键保持排序的顺序相关函数
array_multisort键值关联的保持,数字类型的不保持第一个数组或者由选项指定array_walk
asort由低到高arsort
arsort由高到低asort
krsort由高到低ksort
ksort由低到高asort
natcasesort自然排序,大小写不敏感natsort
natsort自然排序natcasesort
rsort由高到低sort
shuffle随机array_rand
sort由低到高rsort
uasort由用户定义uksort
uksort由用户定义uasort
usort由用户定义uasort