对数组进行排序

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

主要区别有:

  • 有些函数基于 array 的键来排序, 而其他的基于值来排序的:$array['key'] = 'value';
  • 排序之后键和值之间的关联关系是否能够保持, 是指排序之后数组的键可能 会被重置为数字型的(0,1,2 ...)。
  • 排序的顺序有:字母表顺序, 升序(由低到高), 降序(由高到低),数字排序,自然排序,随机顺序或者用户自定义排序。
  • 注意:下列的所有排序函数都是直接作用于数组本身, 而不是返回一个新的有序的数组。
  • 以下函数对于数组中相等的元素,会保留原有的排序。 在 PHP 8.0.0 之前,它们排序后的顺序是未定义的(也即相等元素之间的顺序是不稳定的)。

排序函数属性
函数名称排序依据数组索引键保持排序的顺序相关函数
array_multisort()string 键保持不变,int 键重新索引第一个数组或者由选项指定array_walk()
asort()升序arsort()
arsort()降序asort()
krsort()降序ksort()
ksort()升序krsort()
natcasesort()自然排序,大小写不敏感natsort()
natsort()自然排序natcasesort()
rsort()降序sort()
shuffle()随机array_rand()
sort()升序rsort()
uasort()由用户定义uksort()
uksort()由用户定义uasort()
usort()由用户定义uasort()
To Top