Отформатируйте данные двумерного массива в строку последовательных диапазонов дней, разделенных через дефис, на основе оPhp

Кемеровские программисты php общаются здесь
Anonymous
Отформатируйте данные двумерного массива в строку последовательных диапазонов дней, разделенных через дефис, на основе о

Сообщение Anonymous »

Мне предоставляются данные из API в формате, который довольно сложно использовать (в том виде, в котором это необходимо для использования) — у меня нет возможности модифицировать API. Ниже приведен пример предоставленных мне данных:

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

$data = array(
array('day' => 'Monday', 'start' => 1100, 'end' => 1300),
array('day' => 'Tuesday', 'start' => 1100, 'end' => 1300),
array('day' => 'Wednesday', 'start' => 1100, 'end' => 1300),
array('day' => 'Thursday', 'start' => 1200, 'end' => 1300),
array('day' => 'Friday', 'start' => 1200, 'end' => 1300),
array('day' => 'Saturday', 'start' => 1200, 'end' => 1300),
array('day' => 'Sunday', 'start' => 1200, 'end' => 1400)
);
Данные могут не включать все семь дней недели, начало и конец варьируются от 0000 до 2400. Я пытаюсь придумать способ форматирования данных со следующим выводом:

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

Monday - Wednesday (1100-1300), Thursday - Saturday (1200-1300), Sunday (1200-1400)
По сути, смежные дни (время начала и окончания которых совпадают) разделяются дефисом.
Я пытаюсь избежать огромный блок уродливого кода.

Подробнее здесь: https://stackoverflow.com/questions/779 ... s-based-on

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