<?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