Мне было интересно, может ли кто-нибудь помочь мне с этой проблемой.
У меня есть массив, который содержит дни недели, в которые люди хотят связаться. Затем я создал цикл for, который добавляет 1 день к текущей дате, пока день недели не совпадет с днем, в который человек хочет связаться.
У меня проблема в том, что цикл всегда заходит слишком далеко. Мне просто интересно, если это лучший способ выполнить то, что я пытаюсь сделать, или есть лучший способ?
Вот мой код:
$ScheduleWindow = array('Monday', 'Tuesday');
$date = new DateTime('today');
$dow = getdate($date->getTimestamp());
for($date, $dow;!in_array($dow['weekday'], $ScheduleWindow);$date->add(new DateInterval('P1D'))){
$dow = getdate($date->getTimestamp());
}
echo "Next date to contact is" . $date->format('Y-m-d H:i:s') . "\n";
В настоящее время код повторяет «Следующая дата в окне расписания - 2011-01-25 00:00:00», однако мне нужно, чтобы она была датой 2011-01-24.
Спасибо за внимание.