Дублируйте строки двумерного массива для представления каждой даты в значениях начальной и конечной даты строки. ⇐ Php
Дублируйте строки двумерного массива для представления каждой даты в значениях начальной и конечной даты строки.
У меня есть следующий массив под названием $exhibitions:
Массив ( [0] => Массив ( [exhibition_title] => Пикассо [имя_площадки] => Галерея 1 [room_name] => Комната 4 [start_date] => 15.11.2023 [end_date] => 10 декабря 2023 г. [room_id] => 261 [id_выставки] => 3540 [venue_order] => 2 ) [1] => Массив ( [exhibition_title] => Моне [имя_площадки] => Галерея 4 [room_name] => Комната 2 [start_date] => 01.10.2023 [end_date] => 13.11.2023 [room_id] => 274 [id_выставки] => 8417 [venue_order] => 1 ) ) Что мне нужно сделать, так это использовать start_date и end_date, чтобы создать диапазон дат открытия каждой выставки, а затем для каждой из этих дат по существу дублировать остальные информации в существующем подмассиве с добавлением отдельной даты в конец подмассива. Мой желаемый результат:
Массив ( [0] => Массив ( [exhibition_title] => Пикассо [имя_площадки] => Галерея 1 [room_name] => Комната 4 [start_date] => 15.11.2023 [end_date] => 10 декабря 2023 г. [room_id] => 261 [id_выставки] => 3540 [venue_order] => 2 [дата] => 15.11.2023 ) [1] => Массив ( [exhibition_title] => Пикассо [имя_площадки] => Галерея 1 [room_name] => Комната 4 [start_date] => 15.11.2023 [end_date] => 10 декабря 2023 г. [room_id] => 261 [id_выставки] => 3540 [venue_order] => 2 [дата] => 16.11.2023 ) [2] => Массив ( [exhibition_title] => Пикассо [имя_площадки] => Галерея 1 [room_name] => Комната 4 [start_date] => 15.11.2023 [end_date] => 10 декабря 2023 г. [room_id] => 261 [id_выставки] => 3540 [venue_order] => 2 [дата] => 17.11.2023 ) [... и т. д. для остальных дат в диапазоне дат Пикассо] [25] => Массив ( [exhibition_title] => Моне [имя_площадки] => Галерея 4 [room_name] => Комната 2 [start_date] => 01.10.2023 [end_date] => 13.11.2023 [room_id] => 274 [id_выставки] => 8417 [venue_order] => 1 [дата] => 01.10.2023 ) [26] => Массив ( [exhibition_title] => Моне [имя_площадки] => Галерея 4 [room_name] => Комната 2 [start_date] => 01.10.2023 [end_date] => 13.11.2023 [room_id] => 274 [id_выставки] => 8417 [venue_order] => 1 [дата] => 2023-10-02 ) [27] => Массив ( [exhibition_title] => Моне [имя_площадки] => Галерея 4 [room_name] => Комната 2 [start_date] => 01.10.2023 [end_date] => 13.11.2023 [room_id] => 274 [id_выставки] => 8417 [venue_order] => 1 [дата] => 03.10.2023 ) [... и т. д. для остальных дат в диапазоне дат Моне] ) Я видел этот похожий пост и изменил его так, что вместо отображения $given_date он добавил его в массив в новом столбце с названием «дата».
foreach ($exhibitions as $key => $value) { $startDate = strtotime($value['start_date']); $endDate = strtotime($value['end_date']); // Цикл между временными метками, 24 часа за раз for ($i = $startDate; $i
У меня есть следующий массив под названием $exhibitions:
Массив ( [0] => Массив ( [exhibition_title] => Пикассо [имя_площадки] => Галерея 1 [room_name] => Комната 4 [start_date] => 15.11.2023 [end_date] => 10 декабря 2023 г. [room_id] => 261 [id_выставки] => 3540 [venue_order] => 2 ) [1] => Массив ( [exhibition_title] => Моне [имя_площадки] => Галерея 4 [room_name] => Комната 2 [start_date] => 01.10.2023 [end_date] => 13.11.2023 [room_id] => 274 [id_выставки] => 8417 [venue_order] => 1 ) ) Что мне нужно сделать, так это использовать start_date и end_date, чтобы создать диапазон дат открытия каждой выставки, а затем для каждой из этих дат по существу дублировать остальные информации в существующем подмассиве с добавлением отдельной даты в конец подмассива. Мой желаемый результат:
Массив ( [0] => Массив ( [exhibition_title] => Пикассо [имя_площадки] => Галерея 1 [room_name] => Комната 4 [start_date] => 15.11.2023 [end_date] => 10 декабря 2023 г. [room_id] => 261 [id_выставки] => 3540 [venue_order] => 2 [дата] => 15.11.2023 ) [1] => Массив ( [exhibition_title] => Пикассо [имя_площадки] => Галерея 1 [room_name] => Комната 4 [start_date] => 15.11.2023 [end_date] => 10 декабря 2023 г. [room_id] => 261 [id_выставки] => 3540 [venue_order] => 2 [дата] => 16.11.2023 ) [2] => Массив ( [exhibition_title] => Пикассо [имя_площадки] => Галерея 1 [room_name] => Комната 4 [start_date] => 15.11.2023 [end_date] => 10 декабря 2023 г. [room_id] => 261 [id_выставки] => 3540 [venue_order] => 2 [дата] => 17.11.2023 ) [... и т. д. для остальных дат в диапазоне дат Пикассо] [25] => Массив ( [exhibition_title] => Моне [имя_площадки] => Галерея 4 [room_name] => Комната 2 [start_date] => 01.10.2023 [end_date] => 13.11.2023 [room_id] => 274 [id_выставки] => 8417 [venue_order] => 1 [дата] => 01.10.2023 ) [26] => Массив ( [exhibition_title] => Моне [имя_площадки] => Галерея 4 [room_name] => Комната 2 [start_date] => 01.10.2023 [end_date] => 13.11.2023 [room_id] => 274 [id_выставки] => 8417 [venue_order] => 1 [дата] => 2023-10-02 ) [27] => Массив ( [exhibition_title] => Моне [имя_площадки] => Галерея 4 [room_name] => Комната 2 [start_date] => 01.10.2023 [end_date] => 13.11.2023 [room_id] => 274 [id_выставки] => 8417 [venue_order] => 1 [дата] => 03.10.2023 ) [... и т. д. для остальных дат в диапазоне дат Моне] ) Я видел этот похожий пост и изменил его так, что вместо отображения $given_date он добавил его в массив в новом столбце с названием «дата».
foreach ($exhibitions as $key => $value) { $startDate = strtotime($value['start_date']); $endDate = strtotime($value['end_date']); // Цикл между временными метками, 24 часа за раз for ($i = $startDate; $i
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Используйте значения плоского массива в качестве ключей в каждой строке двумерного массива.
Anonymous » » в форуме Php - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-