如何在PHP中将数字从高到低排序后跟字母?

时间:2014-08-18 19:17:00

标签: php list sorting

基本上我需要对可以包含年份或单词的列表进行排序,我希望将最近几年放在最顶层,以及所有年份以下的任何单词。

所以如果列表包含2012,2013,2014,苹果,香蕉,沙发;我希望它按照这样排序:

2014, 2013年, 2012年, 苹果, 香蕉, 榻

怎么可以这样做?

1 个答案:

答案 0 :(得分:1)

有许多内置的PHP排序功能,但它们不会涵盖所有奇怪的边缘情况。例如,如果您没有按不同方向排序,则几乎可以使用像natsort()这样的简单内容。对于大多数类型的自定义排序,如您想要的(通过数字降序,然后单词升序),您可能最好编写自己的简单排序比较功能!

因此请查看usort() http://php.net/manual/en/function.usort.php 基本上,你传递数组和你编写的函数返回1,0或-1,这取决于两个排序元素的所需比较,你将返回一个排序版本的数组。

或者,您可能希望首先对来自数据库的数据进行排序,因为这通常要快得多。