сортировка — Как отсортировать многомерные массивы в PHP, где ключи на самом деле значения

У меня есть многомерный массив, показанный ниже, который я хочу отсортировать по измерению 1-го уровня, а затем по измерению 2-го уровня в пределах 1-го уровня.

Я хочу, чтобы даты были в хронологическом порядке, а затем время, в пределах дат, было в последовательности часов.

Array
(
[2014-05-17] => Array
(
[0] => 17:30
[1] => 11:30
[2] => 13:30
[3] => 12:30
[4] => 12:30
)

[2014-06-21] => Array
(
[0] => 17:30
[1] => 10:30
[2] => 13:30
[3] => 09:30
[4] => 12:30
[5] => 09:30
[6] => 12:30
)

[2014-05-18] => Array
(
[0] => 17:30
[1] => 11:30
[2] => 13:30
[3] => 12:30
[4] => 12:30
)
)

Кроме того, после сортировки времени я хочу удалить дубликаты — другими словами, я просто хочу, чтобы уникальное время в каждой дате было в порядке часов.

Вот что я хотел бы произвести:

[2014-05-17] => Массив
(
[0] => 11:30
[1] => 12:30
[2] => 13:30
[3] => 17:30
)

[2014-05-18] => Массив
(
[0] => 11:30
[1] => 12:30
[2] => 13:30
[3] => 17:30
)

[2014-06-21] => Массив
(
[0] => 09:30
[1] => 10:30
[2] => 12:30
[3] => 13:30
[4] => 17:30
)

0

Решение

Если ваше переменное имя массива $ arrayDate, выполните это:

ksort($arrayDate);
foreach($arrayDate as &$key){
$key = array_unique($key);
sort($key);
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]