3v4l.org

run code in 300+ PHP versions simultaneously
<?php $currentMonth = date("n"); $currentYear = date("Y"); echo $currentMonth . "\n"; echo $currentYear . "\n"; $month = $currentMonth; $year = $currentYear; $firstDayOfTheMonth = mktime(0, 0, 0, $month, 1, $year); $d = getdate($firstDayOfTheMonth); // Vasarnap helyett hetfo az elso nap a heten. $dayOfTheWeekOfFirstDayOfTheMonth = (6 + $d["wday"]) % 7 + 1; $totalDaysInCurrentMonth = date("t"); $kellenekUresNapokAHonapVegen = true; echo $firstDayOfTheMonth . "firstDayOfTheMonth\n"; //echo $d . "d\n"; echo $dayOfTheWeekOfFirstDayOfTheMonth . "dayOfTheWeekOfFirstDayOfTheMonth\n"; echo $totalDaysInCurrentMonth . "totalDaysInCurrentMonth\n"; for ($i = 0; $i < $totalDaysInCurrentMonth + ($dayOfTheWeekOfFirstDayOfTheMonth - 1); $i++) { // Csak az aktuális héttől kezdve. Megjegyzés: date("W") hétfőt tekinti a hét első napjának, ami nekünk pont megfelel. $day = $i - $dayOfTheWeekOfFirstDayOfTheMonth + 2; echo '$day: ' . $day ."\n"; $dateWeek = date("W", mktime(0, 0, 0, $month, $day, $year)); echo '$dateWeek: ' . $dateWeek ."\n"; if (intval(date("W")) > intval($dateWeek)) { echo "CONTINUE1\n"; continue; } // A hónap végén azokat a heteket nem jelenítjük meg, amikre még nem lehetne jelentkezni. $utolsoJelentkezhetoHet = intval(date("W", strtotime("+ 28 day"))); echo "utolsoJelentkezhetoHet: " .$utolsoJelentkezhetoHet. "\n"; if (intval($dateWeek) > $utolsoJelentkezhetoHet) { $kellenekUresNapokAHonapVegen = false; echo "CONTINUE2\n"; continue; } if ($i % 7 == 0) { echo "<tr>"; } if ($i < $dayOfTheWeekOfFirstDayOfTheMonth - 1) { // Ures napok a honap elejen. echo "<td class='noborder'></td>"; } else if ($i < $totalDaysInCurrentMonth + $dayOfTheWeekOfFirstDayOfTheMonth - 1){ // Naptari napok. $day = $i - $dayOfTheWeekOfFirstDayOfTheMonth + 2; $date = date("Y-m-d", mktime(0, 0, 0, $month, $day, $year)); $napiJelentkezok = isset($napiJelentkezokSzama[$date]) ? $napiJelentkezokSzama[$date] : 0; if (isset($jelentkezettNapok[$date])) { if (isDayInTheFuture($date)) { echo "<td title='Klikkelj a lemondáshoz' id='nap-".$date."' class='registered' onclick='lemondasMegerositese(\"".$date."\")'><span class='notToday'>".$day."</span>".getNapiJelentkezokHtml($napiJelentkezok)."</td>"; } else { if (isToday($date)) { echo "<td id='nap-".$date."' class='todayRegistered today'><span class='today'>".$day."</span>".getNapiJelentkezokHtml($napiJelentkezok)."</td>"; } else { echo "<td id='nap-".$date."' class='pastRegistered'><span class='notToday'>".$day."</span>".getNapiJelentkezokHtml($napiJelentkezok)."</td>"; } } } else { if (isToday($date)) { echo "<td id='nap-".$date."' class='notAvailableForRegistration today'><span class='today'>".$day."</span>".getNapiJelentkezokHtml($napiJelentkezok)."</td>"; } else { echo "<td title='Klikkelj a jelentkezéshez' id='nap-".$date."' " .(isDayAvailableForRegistration($date, $jelentkezettNapok) ? "class='availableForRegistration' onclick='jelentkezesMegerositese(\"".$date."\")'><span class='notToday'>".$day."</span>".getNapiJelentkezokHtml($napiJelentkezok)."</td>" : "class='notAvailableForRegistration'><span class='notToday'>".$day."</span></td>"); } } } else { // TODO(palinko): Kell ez? echo "<td class='noborder'></td>"; } if ($i % 7 == 6) { echo "</tr>"; } } ?>
Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.25, 7.4.27 - 7.4.33, 8.0.0 - 8.0.12, 8.0.14 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
12 2012 1354316400firstDayOfTheMonth 6dayOfTheWeekOfFirstDayOfTheMonth 31totalDaysInCurrentMonth $day: -4 $dateWeek: 48 CONTINUE1 $day: -3 $dateWeek: 48 CONTINUE1 $day: -2 $dateWeek: 48 CONTINUE1 $day: -1 $dateWeek: 48 CONTINUE1 $day: 0 $dateWeek: 48 CONTINUE1 $day: 1 $dateWeek: 48 CONTINUE1 $day: 2 $dateWeek: 48 CONTINUE1 $day: 3 $dateWeek: 49 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 4 $dateWeek: 49 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 5 $dateWeek: 49 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 6 $dateWeek: 49 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 7 $dateWeek: 49 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 8 $dateWeek: 49 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 9 $dateWeek: 49 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 10 $dateWeek: 50 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 11 $dateWeek: 50 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 12 $dateWeek: 50 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 13 $dateWeek: 50 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 14 $dateWeek: 50 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 15 $dateWeek: 50 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 16 $dateWeek: 50 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 17 $dateWeek: 51 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 18 $dateWeek: 51 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 19 $dateWeek: 51 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 20 $dateWeek: 51 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 21 $dateWeek: 51 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 22 $dateWeek: 51 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 23 $dateWeek: 51 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 24 $dateWeek: 52 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 25 $dateWeek: 52 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 26 $dateWeek: 52 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 27 $dateWeek: 52 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 28 $dateWeek: 52 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 29 $dateWeek: 52 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 30 $dateWeek: 52 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 31 $dateWeek: 01 CONTINUE1
Output for 7.3.32 - 7.3.33, 7.4.26, 8.0.13
12 2012 1354320000firstDayOfTheMonth 6dayOfTheWeekOfFirstDayOfTheMonth 31totalDaysInCurrentMonth $day: -4 $dateWeek: 48 CONTINUE1 $day: -3 $dateWeek: 48 CONTINUE1 $day: -2 $dateWeek: 48 CONTINUE1 $day: -1 $dateWeek: 48 CONTINUE1 $day: 0 $dateWeek: 48 CONTINUE1 $day: 1 $dateWeek: 48 CONTINUE1 $day: 2 $dateWeek: 48 CONTINUE1 $day: 3 $dateWeek: 49 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 4 $dateWeek: 49 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 5 $dateWeek: 49 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 6 $dateWeek: 49 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 7 $dateWeek: 49 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 8 $dateWeek: 49 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 9 $dateWeek: 49 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 10 $dateWeek: 50 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 11 $dateWeek: 50 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 12 $dateWeek: 50 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 13 $dateWeek: 50 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 14 $dateWeek: 50 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 15 $dateWeek: 50 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 16 $dateWeek: 50 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 17 $dateWeek: 51 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 18 $dateWeek: 51 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 19 $dateWeek: 51 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 20 $dateWeek: 51 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 21 $dateWeek: 51 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 22 $dateWeek: 51 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 23 $dateWeek: 51 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 24 $dateWeek: 52 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 25 $dateWeek: 52 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 26 $dateWeek: 52 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 27 $dateWeek: 52 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 28 $dateWeek: 52 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 29 $dateWeek: 52 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 30 $dateWeek: 52 utolsoJelentkezhetoHet: 1 CONTINUE2 $day: 31 $dateWeek: 01 CONTINUE1

preferences:
340.71 ms | 405 KiB | 407 Q