1

问题

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

3 回答 3

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");
于 2012-05-14T11:27:52.037 回答
1

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

于 2012-05-14T11:23:35.087 回答
-1

在 php.net 上搜索一下 usort 并制作您自己的排序方法,因为您想要实现的似乎根本不是标准排序

于 2012-05-14T11:20:34.980 回答