0

内部配列キーをDESC順にソートするにはどうすればよいですか?

11、12をDESC順にソートできますarsort()が、内部配列は同じままです。などを試しましたがarray_multisort()usort()運がありませんでした。

Array
(
    [11] => Array
        (
            [4] => apr11timetable.php
            [8] => aug11timetable.php
            [6] => jun11timetable.php
            [11] => nov11timetable.php
            [10] => oct11timetable.php
        )
    [12] => Array
        (
            [4] => apr12timetable.php
            [8] => aug12timetable.php
            [2] => feb12timetable.php
            [6] => jun12timetable.php
            [10] => oct12timetable.php
        )
)
4

4 に答える 4

0

次のコードを実行します。

array_walk($array,'krsort');
于 2012-11-06T13:13:40.583 に答える
0

それを実現するための簡単な関数はないと思いますので、次のコードを考え出しました。

arsort($file_list);

foreach ($file_list as $key => $inner_array)
{
    krsort($inner_array);
    $file_list[$key] = $inner_array;
}

echo '<pre>'; print_r($file_list);
于 2012-11-06T12:37:04.970 に答える
0

これはうまくいくはずです

foreach ($arr as &$ar) { arsort($ar); }

http://codepad.org/ne2ldv9w

于 2012-11-06T12:41:28.460 に答える
0

ksortで試すことができます。Arsort配列を正しくソートしません。

<pre>
<?php
$array = Array(
    11 => Array(
        4 => 'apr11timetable.php',
        8 => 'aug11timetable.php',
        6 => 'jun11timetable.php',
        11 => 'nov11timetable.php',
        10 => 'oct11timetable.php'
    ),
    12 => Array(
        4 => 'apr12timetable.php',
        8 => 'aug12timetable.php',
        2 => 'feb12timetable.php',
        6 => 'jun12timetable.php',
        10 => 'oct12timetable.php'
    )
);

krsort($array, SORT_NUMERIC);

foreach ($array as &$arr) {    
    krsort($arr, SORT_NUMERIC);
}

print_r($array);
?>
</pre>
于 2012-11-06T12:57:49.693 に答える