Итак, у меня есть массив PHP, который необходимо отобразить в сжатом (удобочитаемом) виде:
[business_hours] => Array
(
[0] => Array
(
[closed] => 1
[open_from] =>
[open_to] =>
)
[1] => Array
(
[closed] =>
[open_from] => 11.00 am
[open_to] => 5.00 pm
)
[2] => Array
(
[closed] => 1
[open_from] =>
[open_to] =>
)
[3] => Array
(
[closed] => 1
[open_from] =>
[open_to] =>
)
[4] => Array
(
[closed] =>
[open_from] => 11.00 am
[open_to] => 5.00 pm
)
[5] => Array
(
[closed] =>
[open_from] => 3.00 pm
[open_to] => 5.00 pm
)
[6] => Array
(
[closed] =>
[open_from] => 1.00 pm
[open_to] => 7.00 pm
)
)
[0] = от воскресенья до [6] = суббота.
Ниже приведены примеры того, как я хотел бы отображать эти часы работы. Я могу легко получить закрытые дни, но группировка открытых дней на основе совпадения часов оказывается сложной задачей. Есть предложения, как лучше всего go узнать об этом?
Открыто каждый день в одни и те же часы:
- Открыто ежедневно с X.XX - X.XX.
Открыто каждый день в те же часы, но закрыто в определенные дни:
- Открыто ежедневно с X.XX - X.XX (закрыто xxx, xxx)
Часы работы отличаются от повседневных (как в массиве примеров):
- Открыто Пн, Чт с X.XX - X.XX.
- Открыто Пт с X.XX по X.XX.
- Открыто сб с X.XX по X.XX.
- Закрыто Вс, Вт, Ср