Как я могу сортировать внутренние ключи массива в порядке 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 ) )
Вы можете попробовать с 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>
Я предполагаю, что нет простой функции для этого, поэтому я придумал этот код:
arsort($file_list); foreach ($file_list as $key => $inner_array) { krsort($inner_array); $file_list[$key] = $inner_array; } echo '<pre>'; print_r($file_list);
Выполните следующий код:
array_walk($array,'krsort');