将多维数组从z排序为PHP中的on值

时间:2012-12-21 10:42:02

标签: php sorting multidimensional-array

我想从z到a对多维数组进行排序。 我已经可以使用此函数从a到z对其进行排序:

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;
            }

但我该怎么扭转呢?

2 个答案:

答案 0 :(得分:1)

使用rsort进行反向排序

foreach ($array as $ii => $va) {
    $sorter[$ii]=$va[$key];
}
rsort($sorter);
foreach ($sorter as $ii => $va) {
    $ret[$ii]=$array[$ii];
}

答案 1 :(得分:0)

如果您不想更改排序功能...... 您最后可以使用array_reverse来反转它。

这是一个如何递归地为多维数组使用它的例子:

function Reverse_Array($array) 
{    $index = 0; 
    foreach ($array as $subarray) 
    {    if (is_array($subarray)) 
        {    $subarray = array_reverse($subarray); 
            $arr = Reverse_Array($subarray); 
            $array[$index] = $arr; 
        } 
        else {$array[$index] = $subarray;} 
        $index++; 
    } 
    return $array; 
}