У меня есть массив в php:
$pay_pers[$payPeriod] = Массив ( [0] => 7 апреля 2024 г. [1] => 8 апреля 2024 г. [2] => 9 апреля 2024 г. [3] => 10 апреля 2024 г. [4] => 11 апреля 2024 г. [5] => 12 апреля 2024 г. [6] => 13 апреля 2024 г. [7] => 14 апреля 2024 г. [8] => 15 апреля 2024 г. [9] => 16 апреля 2024 г. [10] => 17 апреля 2024 г. [11] => 18 апреля 2024 г. [12] => 19 апреля 2024 г. [13] => 20 апр 2024 г. ) $rows = Массив ( [0] => Объект stdClass ( [идентификатор] => 27 [дата] => 15 апреля 2024 г. [дата-время] => 28.02.2024 19:30:07 [shift] => середина [ois] => нд [shift_del] => 0 [datetime_shift_del] => ) [1] => Объект stdClass ( [идентификатор] => 7 [дата] => 26 апреля 2024 г. [дата-время] => 2024-02-26 13:28:38 [сдвиг] => утра [ois] => нд [shift_del] => 1 [datetime_shift_del] => 2024-02-26 13:29:34 ) [2] => Объект stdClass ( [идентификатор] => 8 [дата] => 05.04.2024 [дата-время] => 2024-02-26 13:29:05 [сдвиг] => вечер [ois] => нд [shift_del] => 0 [datetime_shift_del] => ) [3] => Объект stdClass ( [идентификатор] => 9 [дата] => 15 февраля 2024 г. [дата-время] => 2024-02-26 13:30:22 [shift] => середина [ois] => нд [shift_del] => 0 [datetime_shift_del] => ) [4] => Объект stdClass ( [идентификатор] => 24 [дата] => 30 декабря 2024 г. [дата-время] => 2024-02-27 15:51:23 [сдвиг] => вечер [ois] => мистер [shift_del] => 0 [datetime_shift_del] => ) [5] => Объект stdClass ( [идентификатор] => 5 [дата] => 12 апреля 2024 г. [дата-время] => 2024-02-26 13:04:39 [сдвиг] => утра [ois] => мистер [shift_del] => 0 [datetime_shift_del] => ) [6] => Объект stdClass ( [идентификатор] => 6 [дата] => 03.02.2024 [дата-время] => 2024-02-26 13:06:18 [сдвиг] => вечер [ois] => мистер [shift_del] => 0 [datetime_shift_del] => ) [7] => Объект stdClass ( [идентификатор] => 10 [дата] => 19 апреля 2024 г. [дата-время] => 2024-02-26 13:33:44 [shift] => середина [ois] => мистер [shift_del] => 1 [datetime_shift_del] => 2024-02-26 13:33:47 ) [8] => Объект stdClass ( [идентификатор] => 20 [дата] => 29.03.2024 [дата-время] => 2024-02-26 17:06:21 [shift] => середина [ois] => мистер [shift_del] => 0 [datetime_shift_del] => ) [9] => Объект stdClass ( [идентификатор] => 19 [дата] => 04.05.2024 [дата-время] => 26.02.2024 16:55:07 [сдвиг] => вечер [ois] => мистер [shift_del] => 0 [datetime_shift_del] => ) [10] => Объект stdClass ( [идентификатор] => 18 [дата] => 04.05.2024 [дата-время] => 2024-02-26 16:53:55 [сдвиг] => утра [ois] => мистер [shift_del] => 1 [datetime_shift_del] => 27.02.2024 10:38:51 ) [11] => Объект stdClass ( [идентификатор] => 16 [дата] => 12 апреля 2024 г. [дата-время] => 2024-02-26 14:58:34 [сдвиг] => вечер [ois] => мистер [shift_del] => 0 [datetime_shift_del] => ) [12] => Объект stdClass ( [идентификатор] => 3 [дата] => 08.05.2024 [дата-время] => 2024-02-26 12:52:23 [сдвиг] => вечер [ois] => минута [shift_del] => 1 [datetime_shift_del] => 2024-02-26 12:52:38 ) [13] => Объект stdClass ( [идентификатор] => 4 [дата] => 13.06.2024 [дата-время] => 2024-02-26 12:54:59 [сдвиг] => утра [ois] => минута [shift_del] => 0 [datetime_shift_del] => ) [14] => Объект stdClass ( [идентификатор] => 2 [дата] => 06.03.2024 [дата-время] => 2024-02-26 12:51:56 [сдвиг] => утра [ois] => минута [shift_del] => 0 [datetime_shift_del] => ) [15] => Объект stdClass ( [идентификатор] => 15 [дата] => 19 мая 2024 г. [дата-время] => 26.02.2024 14:51:00 [сдвиг] => вечер [ois] => ли [shift_del] => 1 [datetime_shift_del] => 2024-02-26 14:51:20 ) [16] => Объект stdClass ( [идентификатор] => 14 [дата] => 13 апреля 2024 г. [дата-время] => 2024-02-26 14:48:46 [сдвиг] => вечер [ois] => ли [shift_del] => 0 [datetime_shift_del] => ) [17] => Объект stdClass ( [id] => 17 [дата] => 12 мая 2024 г. [дата-время] => 2024-02-26 15:44:06 [сдвиг] => утра [ois] => ли [shift_del] => 0 [datetime_shift_del] => ) [18] => Объект stdClass ( [идентификатор] => 13 [дата] => 18 февраля 2024 г. [дата-время] => 2024-02-26 14:45:27 [сдвиг] => утра [ois] => ли [shift_del] => 0 [datetime_shift_del] => ) [19] => Объект stdClass ( [идентификатор] => 12 [дата] => 14 апреля 2024 г. [дата-время] => 2024-02-26 14:44:11 [сдвиг] => утра [ois] => ли [shift_del] => 0 [datetime_shift_del] => ) [20] => Объект stdClass ( [id] => 11 [дата] => 11 мая 2024 г. [дата-время] => 2024-02-26 14:43:43 [сдвиг] => утра [ois] => ли [shift_del] => 1 [datetime_shift_del] => 2024-02-26 14:44:32 ) [21] => Объект stdClass ( [идентификатор] => 25 [дата] => 12.08.2024 [дата-время] => 27.02.2024 16:54:26 [сдвиг] => вечер [ois] => эль [shift_del] => 1 [datetime_shift_del] => 2024-02-27 16:54:27 ) [22] => Объект stdClass ( [идентификатор] => 21 [дата] => 21 апреля 2024 г. [дата-время] => 27.02.2024 15:45:17 [сдвиг] => утра [ois] => да [shift_del] => 1 [datetime_shift_del] => 27.02.2024 15:46:02 ) [23] => Объект stdClass ( [идентификатор] => 22 [дата] => 15 апреля 2024 г. [дата-время] => 27.02.2024 15:45:35 [сдвиг] => вечер [ois] => да [shift_del] => 0 [datetime_shift_del] => ) [24] => Объект stdClass ( [идентификатор] => 23 [дата] => 05.02.2024 [дата-время] => 27.02.2024 15:50:16 [сдвиг] => вечер [ois] => да [shift_del] => 0 [datetime_shift_del] => ) [25] => Объект stdClass ( [идентификатор] => 26 [дата] => 12 апреля 2024 г. [дата-время] => 2024-02-28 14:52:22 [сдвиг] => утра [ois] => да [shift_del] => 0 [datetime_shift_del] => ) ) Я создаю новый массив из них:
function getVolDays($pay_pers, $rows, $pp){ $volunteerDays = массив(); foreach($pay_pers[$pp] as $day) { foreach($rows as $k => $v) { if(strtotime($day) == strtotime($v->date) && (int)$v->shift_del != 1 ) { $eachDay = []; $eachDay['date'] = $day; $eachDay['shift'] = $v->shift; $eachDay['ois'] = $v->ois; $volunteerDays[] = $eachDay; } } } вернуть $volunteerDays; } $vol = getVolDays($pay_pers, $rows, $payPeriod); Что приводит к следующему:
$vol = Массив ( [0] => Массив ( [дата] => 12 апреля 2024 г. [сдвиг] => утра [ois] => мистер ) [1] => Массив ( [дата] => 12 апреля 2024 г. [сдвиг] => вечер [ois] => мистер ) [2] => Массив ( [дата] => 12 апреля 2024 г. [сдвиг] => утра [ois] => да ) [3] => Массив ( [дата] => 13 апреля 2024 г. [сдвиг] => вечер [ois] => ли ) [4] => Массив ( [дата] => 14 апреля 2024 г. [сдвиг] => утра [ois] => ли ) [5] => Массив ( [дата] => 15 апреля 2024 г. [shift] => середина [ois] => нд ) [6] => Массив ( [дата] => 15 апреля 2024 г. [сдвиг] => вечер [ойс] => да ) ) Я включил все вышеперечисленное, чтобы показать, как я пришел к массиву $vol, чтобы при необходимости можно было подсказать, как изменить массив.
Затем я создаю таблицу из $vol:
ДатаУтроВчераСередина Это результирующая таблица.

Мне нужно заполнить только один день в столбце «Дата», затем все инициалы этой даты под «AM», а затем все инициалы под «PM» для этой даты и инициалы для середины. В один ряд. Я не знаю, следует ли мне строить массив по-другому, или выполнять итерацию по-другому, или использовать другую проверку в таблице.
Я ожидаю, что в таблице будет одна строка для каждой даты и все инициалы для каждой таблицы AM, PM и Mid для заполнения этой строки.
Дата AM ВС Средний 12 апреля 2024 г. Г-н окружной прокурор MR 13 апреля 2024 г. ЛИ 14 апреля 2024 г. ЛИ 15 апреля 2024 г. ДА Нет
Я пытался использовать различные функции ArrayIterator(), ArrayObject(), ksort() и т. д. Я не могу вам показать В частности, то, что я пробовал, я так много раз писал и переписывал таблицу html и пытался создать другой массив php, который помог бы мне получить результат, я просто не знаю, как действовать. Спасибо за любую помощь.
Мобильная версия