如何排序以下php数组?

时间:2012-05-14 11:17:39

标签: php arrays

问题

Array ( [0] => 12w12 [1] => 13w12 [2] => 14w12 [3] => 15w12 [4] => 2w13 [5] => 3w13 [6] => 4w13 [7] => 3w12 [8] => 7w12 [9] => 9w12 ) 

答案应该是

Array ( [0] => 3w12 [1] => 7w12 [2] => 9w12 [3] => 12w12 [4] => 13w12 [5] => 14w12 [6] => 15w12 [7] => 2w13 [8] => 3w13 [9] =>4w13  ) 

3 个答案:

答案 0 :(得分:1)

您可以使用PHP usort并编写自己的比较功能。

答案 1 :(得分:1)

function cmp($a, $b){
    if ($a == $b) { return 0; }

    list($first1, $last1) = explode("w", $a);
    list($first2, $last2) = explode("w", $b);

    return (($last1.$first1) < ($last2.$first2)) ? -1 : 1;
}

usort($array, "cmp");

答案 2 :(得分:-1)

在php.net上进行一些搜索,然后按照你想要实现的方式制作自己的排序方法,这似乎不是标准的排序