PHP中可使用array_multisort()、asort()、arsort()、krsort()、ksort()、natcasesort()、natsort()、rsort()、shuffle()、sort()等函数对数组元素进行排序。
本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑
PHP 有一些用来排序数组的函数:
主要区别有:
-
有些函数基于 array 的键来排序, 而其他的基于值来排序的:$array['key'] = 'value';。
-
排序之后键和值之间的关联关系是否能够保持, 是指排序之后数组的键可能 会被重置为数字型的(0,1,2 …)。
-
排序的顺序有:字母表顺序, 由低到高(升序), 由高到低(降序),数字排序,自然排序,随机顺序或者用户自定义排序。
-
注意:下列的所有排序函数都是直接作用于数组本身, 而不是返回一个新的有序的数组。
-
以下函数对于数组中相等的元素,它们在排序后的顺序是未定义的。 (也即相等元素之间的顺序是不稳定的)。
函数(方法)名称 | 排序依据 | 数组索引键保持 | 排序的顺序 |
---|---|---|---|
array_multisort() | 值 | 键值关联的保持,数字类型的不保持 | 第一个数组或者由选项指定 |
asort() | 值 | 是 | 由低到高 |
arsort() | 值 | 是 | 由高到低 |
krsort() | 键 | 是 | 由高到低 |
ksort() | 键 | 是 | 由低到高 |
natcasesort() | 值 | 是 | 自然排序,大小写不敏感 |
natsort() | 值 | 是 | 自然排序 |
rsort() | 值 | 否 | 由高到低 |
shuffle() | 值 | 否 | 随机 |
sort() | 值 | 否 | 由低到高 |
uasort() | 值 | 是 | 由用户定义 |
uksort() | 键 | 是 | 由用户定义 |
usort() | 值 | 否 | 由用户定义 |
推荐学习:《PHP视频教程》