3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php for($i=1;$i<31;$i++) { if($i%3 == 0 && $i % 5 != 0) echo "<br>foo"; else if($i%5 == 0 && $i % 3 != 0) echo "<br>bar"; else if($i % 5 == 0 && $i % 3 == 0) echo "foobar"; else echo "<br>".$i; }
Finding entry points
Branch analysis from position: 0
Jump found. Position 1 = 33
Branch analysis from position: 33
Jump found. Position 1 = 35, Position 2 = 2
Branch analysis from position: 35
Jump found. Position 1 = -2
Branch analysis from position: 2
Jump found. Position 1 = 5, Position 2 = 8
Branch analysis from position: 5
Jump found. Position 1 = 9, Position 2 = 11
Branch analysis from position: 9
Jump found. Position 1 = 31
Branch analysis from position: 31
Jump found. Position 1 = 35, Position 2 = 2
Branch analysis from position: 35
Branch analysis from position: 2
Branch analysis from position: 11
Jump found. Position 1 = 14, Position 2 = 17
Branch analysis from position: 14
Jump found. Position 1 = 18, Position 2 = 20
Branch analysis from position: 18
Jump found. Position 1 = 31
Branch analysis from position: 31
Branch analysis from position: 20
Jump found. Position 1 = 23, Position 2 = 26
Branch analysis from position: 23
Jump found. Position 1 = 27, Position 2 = 29
Branch analysis from position: 27
Jump found. Position 1 = 31
Branch analysis from position: 31
Branch analysis from position: 29
Jump found. Position 1 = 35, Position 2 = 2
Branch analysis from position: 35
Branch analysis from position: 2
Branch analysis from position: 26
Branch analysis from position: 17
Branch analysis from position: 8
filename:       /in/WRZqS
function name:  (null)
number of ops:  36
compiled vars:  !0 = $i
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   2     0  E >   ASSIGN                                                   !0, 1
         1      > JMP                                                      ->33
   4     2    >   MOD                                              ~2      !0, 3
         3        IS_EQUAL                                         ~3      ~2, 0
         4      > JMPZ_EX                                          ~3      ~3, ->8
         5    >   MOD                                              ~4      !0, 5
         6        IS_NOT_EQUAL                                     ~5      ~4, 0
         7        BOOL                                             ~3      ~5
         8    > > JMPZ                                                     ~3, ->11
   5     9    >   ECHO                                                     '%3Cbr%3Efoo'
        10      > JMP                                                      ->31
   6    11    >   MOD                                              ~6      !0, 5
        12        IS_EQUAL                                         ~7      ~6, 0
        13      > JMPZ_EX                                          ~7      ~7, ->17
        14    >   MOD                                              ~8      !0, 3
        15        IS_NOT_EQUAL                                     ~9      ~8, 0
        16        BOOL                                             ~7      ~9
        17    > > JMPZ                                                     ~7, ->20
   7    18    >   ECHO                                                     '%3Cbr%3Ebar'
        19      > JMP                                                      ->31
   8    20    >   MOD                                              ~10     !0, 5
        21        IS_EQUAL                                         ~11     ~10, 0
        22      > JMPZ_EX                                          ~11     ~11, ->26
        23    >   MOD                                              ~12     !0, 3
        24        IS_EQUAL                                         ~13     ~12, 0
        25        BOOL                                             ~11     ~13
        26    > > JMPZ                                                     ~11, ->29
   9    27    >   ECHO                                                     'foobar'
        28      > JMP                                                      ->31
  11    29    >   CONCAT                                           ~14     '%3Cbr%3E', !0
        30        ECHO                                                     ~14
   2    31    >   POST_INC                                         ~15     !0
        32        FREE                                                     ~15
        33    >   IS_SMALLER                                       ~16     !0, 31
        34      > JMPNZ                                                    ~16, ->2
        35    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 7.2.0