Hej Anders,
når du looper igennem de forløbende dage breaker du inden du trækker fra d. "sidste" dag
- while ($falseDay > 27) {
- $falseWeekday = date("N", mktime(0, 0, 0, $month-1, $falseDay, $year));
- if(checkdate($month-1, $falseDay, $year)) {
- echo $falseday;
- $weekday++;
- break;
- }
- $falseDay--;
- }
Som jeg umiddelbart læser flowet i din gode gør du følgende:
hvis den 1 ikke er en mandag:
sæt datoen til d. 31 samt ugedagen til mandag
kontroller om dato findes
hvis datoen IKKE findes, fratrækkes datoen med 1 dag (til d. 30., 29., 28.)
såfremt datoen findes:
udskriv datoen og læg en til dagen (tirsdag, onsdag, torsdag..)
break!
dit sidste break forhindrer derved at der kommer en ændring af datoen til d. 27. 26. 25.
Endvidere så vidt jeg kan se, regner du det i "forkert" rækkefølge, da du nu finder d. sidste dag på måneden (28.) som værende mandag. den næste dag (tirsdag) vil da være d. 27 og onsdag d. 26.