Сортировка многомерного массива по ключам второго уровня по убыванию, а затем по ключам третьего уровня (названиям месяцPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Сортировка многомерного массива по ключам второго уровня по убыванию, а затем по ключам третьего уровня (названиям месяц

Сообщение Anonymous »

У меня много папок, и я использую DirectoryIterator, чтобы поместить их в многомерный массив. Результат этого примерно такой

Код: Выделить всё

array:10 [▼
"SomeTitle" => array:2 [▼
2018 => array:3 [▼
"February" => array:4 [▶]
"January" => array:1 [▶]
"March" => array:1 [▶]
]
2017 => array:11 [▼
"February" => array:9 [▶]
"January" => array:12 [▶]
"March" => array:9 [▶]
"September" => array:9 [▶]
"June" => array:8 [▶]
"December" => array:12 [▶]
"October" => array:8 [▶]
"July" => array:10 [▶]
"April" => array:8 [▶]
"August" => array:10 [▶]
"May" => array:10 [▶]
]
]
]
Итак, у меня есть основной ключ, за которым следует год, затем месяц и некоторые другие данные.
Я пытаюсь упорядочить данные по годам и месяцам. Поэтому 2018 год всегда должен быть первым. Затем мне нужно, чтобы месяцы были организованы в порядке месяцев. На данный момент я передаю массив этой функции

Код: Выделить всё

function sortArray($arr) {
ksort($arr);

foreach ($arr as $k => $v) {
if (is_array($v)) {
$arr[$k] = $this->sortArray($v);
}
}
return $arr;
}
Я не думаю, что мне нужен ksort, поскольку здесь, похоже, 2017 год стоит на первом месте. Когда я запускаю вышеуказанное, я получаю следующее

Код: Выделить всё

array:10 [▼
"SomeTitle" => array:2 [▼
2017 => array:11 [▼
"April" => array:8 [▶]
"August" => array:10 [▶]
"December" => array:12 [▶]
"February" => array:9 [▶]
"January" => array:12 [▶]
"July" => array:10 [▶]
"June" => array:8 [▶]
"March" => array:9 [▶]
"May" => array:10 [▶]
"October" => array:8 [▶]
"September" => array:9 [▶]
]
2018 => array:3 [▼
"February" => array:4 [▶]
"January" => array:1 [▶]
"March" => array:1 [▶]
]
]
]
Итак, все в основном в алфавитном порядке. Есть ли способ изменить это, чтобы год начинался от самого нового к самому старому, а месяцы располагались в календарном порядке?

Подробнее здесь: https://stackoverflow.com/questions/494 ... n-third-le
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»