3v4l.org

run code in 300+ PHP versions simultaneously
<?php $daynames = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"); $dayW = date("w"); echo "## 1) First method : just tweaking your code" . PHP_EOL . PHP_EOL; echo $daynames[$dayW % 7] . PHP_EOL; echo $daynames[($dayW +1) % 7] . PHP_EOL; echo $daynames[($dayW +2) % 7] . PHP_EOL; echo $daynames[($dayW +3) % 7] . PHP_EOL; echo $daynames[($dayW +4) % 7] . PHP_EOL; echo $daynames[($dayW +5) % 7] . PHP_EOL; echo $daynames[($dayW +6) % 7] . PHP_EOL; echo PHP_EOL . "## 2) Second method : a slightly more sophisticated example using a handy user-defined function" . PHP_EOL . PHP_EOL; function getDaynameAfterCountDays(int $dayOfWeek, int $countDaysAfter = 0) { $daynames = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"); // 0) Preliminary checks to implement // $dayOfWeek must be an int value between 0 and 6 included // $countDaysAfter must be a positive int (>= 0) return $daynames[($dayOfWeek + $countDaysAfter) % 7]; } $currentDayName = $daynames[$dayW]; for($i = 0; $i < 7 ; $i++) { echo $currentDayName . ' +' . $i . ' day(s) --> ' . getDaynameAfterCountDays($dayW, $i) . PHP_EOL; }
Output for 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
## 1) First method : just tweaking your code Freitag Samstag Sonntag Montag Dienstag Mittwoch Donnerstag ## 2) Second method : a slightly more sophisticated example using a handy user-defined function Freitag +0 day(s) --> Freitag Freitag +1 day(s) --> Samstag Freitag +2 day(s) --> Sonntag Freitag +3 day(s) --> Montag Freitag +4 day(s) --> Dienstag Freitag +5 day(s) --> Mittwoch Freitag +6 day(s) --> Donnerstag

preferences:
44.91 ms | 408 KiB | 5 Q