php排序函数总结
php数组排序函数总结
php有很多用于数组排序的函数,以下是它们之间的主要区别:
- 一些函数基于数组’key’排序,另一些基于数组’value’排序: $array[‘key’] = ‘value’.
- 排序完成后数组的’key’和’value’ 是否保持排序前的对应关系.
- 排序的顺序:字母表顺序,由低到高(升序),由高到低(降序),数字排序,自然排序,随机排序或者用户自定义的排序。
- 注意: 下列的所有排序函数都是直接作用于数组本身,而不是返回一个新的有序的数组。
- 以下函数对于数组中相等的元素,它们在排序后的顺序是未定义的.(也即相等元素之间的顺序是不稳定的).
以下是数组排序函数的对比表
函数名称 | 排序依据 | 数组索引键保持 | 排序的顺序 | 相关函数 |
array_multisort() | 值 | 键值关联的保持,数字类型的不保持 | 第一个数组或者由选项指定 | array_walk() |
asort() | 值 | 是 | 由低到高 | arsort() |
arsort() | 值 | 是 | 由高到低 | asort() |
krsort() | 键 | 是 | 由高到低 | ksort() |
ksort() | 键 | 是 | 由低到高 | asort() |
rsort() | 值 | 否 | 由高到低 | sort() |
sort() | 值 | 否 | 由高到低 | rsort() |
uasort() | 值 | 是 | 由用户自定义 | uksort() |
uksort() | 键 | 是 | 由用户自定义 | uasort() |
usort() | 值 | 否 | 由用户自定义 | uasort() |