Создайте расписание даты, которое выполняется только в будние дни

У меня есть функция расписания даты в PHP, которая предназначена для выполнения только в рабочие дни. Код, который у меня есть на данный момент, генерирует расписание на все дни недели, поэтому оператор while не работает, и я не уверен, почему.

Я студент, поэтому я не очень опытен с такими вещами. Вот код, который у меня есть:

public static function generate_date_schedule($tasksperdayschedule, $startdate) {
$schedule = [];

$date = clone $startdate;

foreach ($tasksperdayschedule as $numberoftasks) {
$day = (int)$date->format('N');

// Skip weekend days.
while ($day > 5) {
$date->add(new DateInterval('P1D'));
$day = (int)$date->format('N');
}

$schedule[$date->format(self::DATE_FORMAT)] = $numberoftasks;

$date->add(new DateInterval('P1D'));
}

return $schedule;

Это, наверное, что-то очень маленькое, что мне не хватает, но любая помощь будет принята с благодарностью! Спасибо

0

Решение

Я думаю, что это простая логическая ошибка.

Внутри while цикл вы обновляете $day, но foreach цикл продолжает выполнять остальную часть кода.

Еще лучше, вы можете избежать while цикл по:

if($day > 5)
continue;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]