У меня есть функция расписания дат в 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;
Это, вероятно, что-то очень мало, мне не хватает, но любая помощь будет оценен по достоинству! Спасибо
я проверил это, и это, кажется, работает хорошо, и пропуск в выходные дни. Можете ли вы объяснить, какие входные и выходные данные вы ожидаете? –
Это небольшая часть гораздо большей базы кода, возможно, проблема заключается не в этой функции, а в другом месте. Ожидается, что он создаст расписание, которое затем передается в другом месте для отправки уведомлений. – Ryan