3v4l.org

run code in 300+ PHP versions simultaneously
<?php for ($y = 1999; $y<=2100; $y++) { for($m=1; $m<=12; $m++) { echo $y.'-'.sprintf('%02d ', $m), (int) preg_match('/20[0-9]{2}-(0[1-9]|1[0-2])/', $y.'-'.sprintf('%02d', $m)), PHP_EOL; } }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 28
Branch analysis from position: 28
2 jumps found. (Code = 44) Position 1 = 30, Position 2 = 2
Branch analysis from position: 30
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 2
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
2 jumps found. (Code = 44) Position 1 = 27, Position 2 = 4
Branch analysis from position: 27
2 jumps found. (Code = 44) Position 1 = 30, Position 2 = 2
Branch analysis from position: 30
Branch analysis from position: 2
Branch analysis from position: 4
2 jumps found. (Code = 44) Position 1 = 27, Position 2 = 4
Branch analysis from position: 27
Branch analysis from position: 4
filename:       /in/n6oe7
function name:  (null)
number of ops:  31
compiled vars:  !0 = $y, !1 = $m
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, 1999
          1      > JMP                                                      ->28
    4     2    >   ASSIGN                                                   !1, 1
          3      > JMP                                                      ->25
    5     4    >   CONCAT                                           ~4      !0, '-'
          5        INIT_FCALL                                               'sprintf'
          6        SEND_VAL                                                 '%2502d+'
          7        SEND_VAR                                                 !1
          8        DO_ICALL                                         $5      
          9        CONCAT                                           ~6      ~4, $5
         10        ECHO                                                     ~6
         11        INIT_FCALL                                               'preg_match'
         12        SEND_VAL                                                 '%2F20%5B0-9%5D%7B2%7D-%280%5B1-9%5D%7C1%5B0-2%5D%29%2F'
         13        CONCAT                                           ~7      !0, '-'
         14        INIT_FCALL                                               'sprintf'
         15        SEND_VAL                                                 '%2502d'
         16        SEND_VAR                                                 !1
         17        DO_ICALL                                         $8      
         18        CONCAT                                           ~9      ~7, $8
         19        SEND_VAL                                                 ~9
         20        DO_ICALL                                         $10     
         21        CAST                                          4  ~11     $10
         22        ECHO                                                     ~11
         23        ECHO                                                     '%0A'
    4    24        PRE_INC                                                  !1
         25    >   IS_SMALLER_OR_EQUAL                                      !1, 12
         26      > JMPNZ                                                    ~13, ->4
    3    27    >   PRE_INC                                                  !0
         28    >   IS_SMALLER_OR_EQUAL                                      !0, 2100
         29      > JMPNZ                                                    ~15, ->2
    7    30    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
175.96 ms | 1396 KiB | 17 Q