-2

我想将一个多维数组从 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;
            }

但是我该如何扭转呢?

4

2 回答 2

1

用于 rsort反向排序

foreach ($array as $ii => $va) {
    $sorter[$ii]=$va[$key];
}
rsort($sorter);
foreach ($sorter as $ii => $va) {
    $ret[$ii]=$array[$ii];
}
于 2012-12-21T10:44:44.693 回答
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; 
} 
于 2012-12-21T10:53:22.080 回答