3v4l.org

run code in 300+ PHP versions simultaneously
<?php $daysInMonth = array(0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); for ($year = 1500; $year < 2000; $year++) { for ($month = 1; $month <= 12; $month++) { for ($day = 1; $day < $daysInMonth[$month]; $day++) { $baseString = sprintf("%4d-%02d-%02d 00:00:00", $year, $month, $day); $timestamp = strtotime($baseString); $roundTrip = date("Y-m-d H:i:s", $timestamp); echo "$baseString ($timestamp) $roundTrip\n"; break; } break; } break; }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 41
Branch analysis from position: 41
2 jumps found. (Code = 44) Position 1 = 43, Position 2 = 3
Branch analysis from position: 43
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 37
Branch analysis from position: 37
2 jumps found. (Code = 44) Position 1 = 39, Position 2 = 5
Branch analysis from position: 39
1 jumps found. (Code = 42) Position 1 = 43
Branch analysis from position: 43
Branch analysis from position: 5
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
2 jumps found. (Code = 44) Position 1 = 35, Position 2 = 7
Branch analysis from position: 35
1 jumps found. (Code = 42) Position 1 = 39
Branch analysis from position: 39
Branch analysis from position: 7
1 jumps found. (Code = 42) Position 1 = 35
Branch analysis from position: 35
filename:       /in/Mh4kK
function name:  (null)
number of ops:  44
compiled vars:  !0 = $daysInMonth, !1 = $year, !2 = $month, !3 = $day, !4 = $baseString, !5 = $timestamp, !6 = $roundTrip
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <array>
    4     1        ASSIGN                                                   !1, 1500
          2      > JMP                                                      ->41
    5     3    >   ASSIGN                                                   !2, 1
          4      > JMP                                                      ->37
    6     5    >   ASSIGN                                                   !3, 1
          6      > JMP                                                      ->32
    7     7    >   INIT_FCALL                                               'sprintf'
          8        SEND_VAL                                                 '%254d-%2502d-%2502d+00%3A00%3A00'
          9        SEND_VAR                                                 !1
         10        SEND_VAR                                                 !2
         11        SEND_VAR                                                 !3
         12        DO_ICALL                                         $11     
         13        ASSIGN                                                   !4, $11
    8    14        INIT_FCALL                                               'strtotime'
         15        SEND_VAR                                                 !4
         16        DO_ICALL                                         $13     
         17        ASSIGN                                                   !5, $13
    9    18        INIT_FCALL                                               'date'
         19        SEND_VAL                                                 'Y-m-d+H%3Ai%3As'
         20        SEND_VAR                                                 !5
         21        DO_ICALL                                         $15     
         22        ASSIGN                                                   !6, $15
   10    23        ROPE_INIT                                     6  ~18     !4
         24        ROPE_ADD                                      1  ~18     ~18, '+%28'
         25        ROPE_ADD                                      2  ~18     ~18, !5
         26        ROPE_ADD                                      3  ~18     ~18, '%29+'
         27        ROPE_ADD                                      4  ~18     ~18, !6
         28        ROPE_END                                      5  ~17     ~18, '%0A'
         29        ECHO                                                     ~17
   11    30      > JMP                                                      ->35
    6    31*       PRE_INC                                                  !3
         32    >   FETCH_DIM_R                                      ~22     !0, !2
         33        IS_SMALLER                                               !3, ~22
         34      > JMPNZ                                                    ~23, ->7
   13    35    > > JMP                                                      ->39
    5    36*       PRE_INC                                                  !2
         37    >   IS_SMALLER_OR_EQUAL                                      !2, 12
         38      > JMPNZ                                                    ~25, ->5
   15    39    > > JMP                                                      ->43
    4    40*       PRE_INC                                                  !1
         41    >   IS_SMALLER                                               !1, 2000
         42      > JMPNZ                                                    ~27, ->3
   16    43    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
157.74 ms | 1400 KiB | 19 Q