Вставка в массив новых данных, если дата не существует в массиве только по месяцам и дням - PullRequest
0 голосов
/ 17 января 2020

У меня есть простая система посещаемости, где один вводит дату, чтобы принять участие. Теперь я хочу автоматически рассчитать праздничные дни в рамках посещаемости и вставить их автоматически. Поскольку праздничные дни никогда не меняются, я установил их как день и месяц.

Праздник в формате Месяц-День

$holidays = array[[0]=>[
                  "name" => "New Year's Day",
                  "holiday_date" => "01-01"
                  ]
                  [1]=>[
                  "name" => "Special Date 1",
                  "holiday_date" => "01-12"
                  ],
                  [2]=>[
                  "name" => "Special Date 2",
                  "holiday_date" => "02-14"
                  ],
                  [3]=>[
                  "name" => "Special Date 2",
                  "holiday_date" => "02-14"
                  ]
                 ];

Во время посещения люди все еще могут работать, поэтому некоторые посещения могут быть приняты в праздничные периоды и уже вставлены.

$attendance = array[[0] => [
                       'date'=>'2019-01-01',
                       'worktime'=>'8']
                    ],
                    [1] => [
                       'date'=>'2019-03-01',
                       'worktime'=>'3']
                    ],
                    [2] => [
                       'date'=>'2020-4-01',
                       'worktime'=>'3']
                    ]
                  ];

Обратите внимание, что даты посещения могут варьироваться в разные годы. Поэтому, если я хочу получить данные с 2019-01-01 до 2020-03-15, будут 2 новогодних праздника.

Я хочу, чтобы, если дата праздника уже существовала, я ее проигнорировал, но если это не так, я вставляю его в массив и сортирую по дате.

Приведенный выше массив посещаемости должен привести к соответствующему добавлению дат праздников.

Каков наилучший подход для этого? предмет? Я пытался форматировать даты и сравнивать их, но безуспешно.

...