我如何在PHP中对多维数组进行排序?

时间:2009-12-15 06:48:19

标签: php arrays sorting

我有像

这样的数组
Array ( 
     [608665839] => Array ( [score] => 2 ) 
     [1756044141] => Array ( [score] => 5 ) 
     [523536777] => Array ( [score] => 2 ) 
)

我希望通过分数来治疗这个数组。我该怎么办?

3 个答案:

答案 0 :(得分:4)

我会使用uasort

答案 1 :(得分:1)

我认为[uasort()] 1函数有助于对此array()进行排序

如果有多个数组,则使用array_[multisort()] 2个函数

答案 2 :(得分:0)

来自PHP.net:

<?php
    function order_array_num ($array, $key, $order = "ASC")
    {
        $tmp = array();
        foreach($array as $akey => $array2)
        {
            $tmp[$akey] = $array2[$key];
        }

        if($order == "DESC")
        {arsort($tmp , SORT_NUMERIC );}
        else
        {asort($tmp , SORT_NUMERIC );}

        $tmp2 = array();       
        foreach($tmp as $key => $value)
        {
            $tmp2[$key] = $array[$key];
        }       

        return $tmp2;
    }
?>

$ order =“ASC”将按升序对数组进行排序,而$ order =“DESC”将按降序对数组进行排序。

希望这有帮助。