<?php
function getFutureWeekday(
string $startDate,
int $numberOfDays,
array $holidays = []
): string
{
$dt = new DateTime($startDate);
for ($i = 0; $i < $numberOfDays; ++$i) {
do {
$date = $dt->modify('+1 weekday')->format("Y-m-d");
echo $date . "\n";
} while (in_array($date, $holidays));
}
echo "---\n";
return $date ?? $startDate;
}
echo getFutureWeekday('2022-03-30', 4, ['2022-04-05']);
- Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
- 2022-03-31
2022-04-01
2022-04-04
2022-04-05
2022-04-06
---
2022-04-06
preferences:
97.78 ms | 407 KiB | 5 Q