3v4l.org

run code in 300+ PHP versions simultaneously
<?php function drawMonth($month, $year, $jelentkezettNapok, $napiJelentkezokSzama) { // $months = Array("Január", "Február", "Március", "Április", "Május", "Június", "Július", // "Augusztus", "Szeptember", "Október", "November", "December"); //echo "<p class='honapNeve'>".$months[$month - 1]."</p>"; // echo "<table class='naptar'>"; // echo "<tr><th>H</th><th>K</th><th>Sz</th><th>Cs</th><th>P</th><th>Sz</th><th>V</th></tr>"; $firstDayOfTheMonth = mktime(0, 0, 0, $month, 1, $year); $d = getdate($firstDayOfTheMonth); // Vasarnap helyett hetfo az elso nap a heten. Pl. "6" jelentese: szombaton kezdodik a honap. $dayOfTheWeekOfFirstDayOfTheMonth = (6 + $d["wday"]) % 7 + 1; // Hany napos a honap. $totalDaysInCurrentMonth = date("t", $firstDayOfTheMonth); $kellenekUresNapokAHonapVegen = true; 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; $dateWeek = date("W", mktime(0, 0, 0, $month, $day, $year)); if (intval(date("W", $firstDayOfTheMonth)) > intval($dateWeek)) { 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"))); if ($utolsoJelentkezhetoHet < intval(date("W"))) { // Ez decemberben fordulhat elo, amikor is 28 nap mulva mar januarra esik. Ebben az esetben // az egesz honapot ki kell irni. $utolsoJelentkezhetoHet += 52; } // date("W", mktime(0, 0, 0, 12, 31, 2012)) hibasan 1-et ad 53 helyett, ezert a december // honapot kulon kell kezelni. if (!($month == 12 && $day >= 3) && intval($dateWeek) > $utolsoJelentkezhetoHet) { $kellenekUresNapokAHonapVegen = false; 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>"); } }*/ echo $day + "nap "; } else { // TODO(palinko): Kell ez? echo "<td class='noborder'></td>"; } if ($i % 7 == 6) { echo "</tr>"; } } // Üres napok a hónap végén. Csak akkor, ha nem üres hetet (7 üres napot) kellene kiírni. // TODO(palinko): $kellenekUresNapokAHonapVegen-t helyesen számolni eredetileg is. if ($kellenekUresNapokAHonapVegen && ($totalDaysInCurrentMonth + ($dayOfTheWeekOfFirstDayOfTheMonth - 1)) % 7 > 0) { for ($i = ($totalDaysInCurrentMonth + ($dayOfTheWeekOfFirstDayOfTheMonth - 1)) % 7; $i < 7; $i++) { echo "<td class='noborder'></td>"; } } // echo "</table>"; } drawMonth(1, 2013, array(), array()); ?>
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
<tr><td class='noborder'></td> Fatal error: Uncaught TypeError: Unsupported operand types: int + string in /in/iI8N3:67 Stack trace: #0 /in/iI8N3(85): drawMonth(1, 2013, Array, Array) #1 {main} thrown in /in/iI8N3 on line 67
Process exited with code 255.
Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
<tr><td class='noborder'></td> Warning: A non-numeric value encountered in /in/iI8N3 on line 67 1 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 2 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 3 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 4 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 5 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 6</tr><tr> Warning: A non-numeric value encountered in /in/iI8N3 on line 67 7 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 8 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 9 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 10 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 11 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 12 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 13</tr><tr> Warning: A non-numeric value encountered in /in/iI8N3 on line 67 14 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 15 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 16 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 17 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 18 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 19 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 20</tr><tr> Warning: A non-numeric value encountered in /in/iI8N3 on line 67 21 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 22 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 23 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 24 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 25 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 26 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 27</tr><tr> Warning: A non-numeric value encountered in /in/iI8N3 on line 67 28 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 29 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 30 Warning: A non-numeric value encountered in /in/iI8N3 on line 67 31<td class='noborder'></td><td class='noborder'></td><td class='noborder'></td>
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
<tr><td class='noborder'></td>123456</tr><tr>78910111213</tr><tr>14151617181920</tr><tr>21222324252627</tr><tr>28293031<td class='noborder'></td><td class='noborder'></td><td class='noborder'></td>

preferences:
275.83 ms | 403 KiB | 407 Q