PHP:降序asort不起作用?

时间:2014-03-27 15:59:09

标签: php arrays sorting asort

我有这个网站使用数组,然后我有这个功能,使用asort对这些数组进行排序。它看起来像这样:

function aasort (&$array, $key) {
    $sorter=array();
    $ret=array();
    reset($array);
    foreach ($array as $ii => $va) {
        $sorter[$ii]=$va[$key];
    }
    asort($sorter);
    foreach ($sorter as $ii => $va) {
        $ret[$ii]=$array[$ii];
    }
    $array=$ret;
}

这个算法从1-10对数组进行排序,但我需要它从10-1到降序排序。我尝试过使用rsort没有运气,我也试过array_reverse而没有运气。我不知道我是否错了?或者..至少我只需要算法来降序排序。任何想法,建议或建议都表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:2)

如文档所述,尝试usort定义的排序功能。
http://www.php.net/manual/en/function.usort.php

function sortSomething($a, $b){
    if ($a < $b){
        return -1;
    }
    else if ($a > $b){
        return 1;
    }
    else{
        return 0;
    }
};
// Now sort the array using the comparison function
usort($array, 'sortSomething');

这会以正常方式对元素进行排序 - 只需切换比较运算符,您就可以进行反向排序。