У меня есть массив часов открытия / закрытия магазина:
array:3 [▼
1 => array:2 [▼
"opens_at" => "10:00"
"closes_at" => "18:00"
]
2 => array:2 [▼
"opens_at" => "10:00"
"closes_at" => "18:00"
]
3 => array:2 [▼
"opens_at" => "10:00"
"closes_at" => "18:00"
]
4 => array:2 [▼
"opens_at" => "14:00"
"closes_at" => "17:00"
]
5 => array:2 [▼
"opens_at" => "14:00"
"closes_at" => "17:00"
]
6 => array:2 [▼
"opens_at" => "18:00"
"closes_at" => "19:00"
]
]
ключи массива здесь от 1 до 6 - это дни (с понедельника по субботу) в этом случае, и я 'используя для этого простой класс Enum:
class WeekDays
{
const MONDAY = 1;
const TUESDAY = 2;
const WEDNESDAY = 3;
const THURSDAY = 4;
const FRIDAY = 5;
const SATURDAY = 6;
const SUNDAY = 7;
}
Итак, мне нужно получить результат, который группирует дни с одинаковыми часами открытия и закрытия следующим образом:
[
Mo,Tu,We 10:00-18:00,
Th,Fr 14:00-17:00
Sa 18:00-19:00
]
Iне могу понять, как группировать по opens_at
& closes_at
, чтобы получить какой-либо отформатированный результат, как я показал.Заранее спасибо!