对数组进行排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对数组进行排序相关的知识,希望对你有一定的参考价值。

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()

http://php.net/manual/zh/array.sorting.php

 

以上是关于对数组进行排序的主要内容,如果未能解决你的问题,请参考以下文章

ava对数组元素排序的三种方式

算法设计《分治法》归并排序实例分析之逆序对数

js sort 数组中包含数组怎么排序

来自两个排序数组的最大对数

Todo求逆序对数总结

通过分为两部分对堆排序进行优化是多么好