Так что я не совсем уверен, подходит ли заголовок лучше всего, но вот как выглядит массив:
array (
[0] => array (
[category] => 'Value_1'
[date] => '01/01/2011'
[data] => 'A'
)
[1] => array (
[category] => 'Value_3'
[date] => '01/01/2000'
[data] => 'B'
)
[2] => array (
[category] => 'Value_2'
[date] => '01/01/2011'
[data] => 'D'
)
[3] => array (
[category] => 'Value_2'
[date] => '01/01/2010'
[data] => 'A'
)
[4] => array (
[category] => 'Value_2'
[date] => '01/01/2011'
[data] => 'C'
)
)
Как бы я хотел, чтобы эти данные были отсортированы, было бы следующим:
- Сохранить порядок категорий
- Внутри категорий упорядочить по дате DESC
- Если даты встречаются несколько раз, упорядочить по данным в алфавитном порядке ASC
Пример массива будет затем отсортирован по array ([0], [1], [4], [2], [3])
, более конкретно:
array (
[0] => array (
[category] => 'Value_1'
[date] => '01/01/2011'
[data] => 'A'
)
[1] => array (
[category] => 'Value_3'
[date] => '01/01/2000'
[data] => 'B'
)
[2] => array (
[category] => 'Value_2'
[date] => '01/01/2011'
[data] => 'C'
)
[3] => array (
[category] => 'Value_2'
[date] => '01/01/2011'
[data] => 'D'
)
[4] => array (
[category] => 'Value_2'
[date] => '01/01/2010'
[data] => 'A'
)
)
Моя проблема в том, что я знаю, что мне понадобятся usort
и / или array_multisort()
, но я 'я точно не уверен, как эффективно выполнять итерации цикла, чтобы выполнить сортировку по критериям, которые я дал.