3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(E_NONE); $a = array(); $a['foo'] = "Foo"; $a['foo']['bar'] = "Bar"; echo $a['foo']; //*Boo // Baroo // FooBar // Bar // Foo // nic echo "\n"; for ($i = 0; $i <= 2; $i++) { $foo .= $i % 2; } $foo -= 010; echo $foo; //*2 // 0 // -10 // -8 // 8 // 91 // 93 // nic echo "\n"; $foo = "a"; for ($i = 0; $i < 26; $i++) { $foo++; } echo $foo; // a26 //*aa // nic // a // A // z // 27 // 26 // 123 echo "\n"; $arr = range(1,9); $arr[5] = $arr[0] + $arr[5] == 7; $foo = in_array(10, $arr); echo $foo ? 'true' : 'false'; //*true // false echo "\n"; $a = 1; $a += ++$a + ++$a + $a++ + ++$a; echo $a; // 29 // 28 // 27 // 26 // 25 // 24 // 23 // 22 // 21 // 20 // 19 //*18 // 17 // 16 // 15 // 14 // 13 // 12 // 11 // 10 // 9 // 8 // 7 // 6 // 5 // 4 // 3 // 2 // 1 // 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 18
Branch analysis from position: 18
2 jumps found. (Code = 44) Position 1 = 20, Position 2 = 15
Branch analysis from position: 20
1 jumps found. (Code = 42) Position 1 = 28
Branch analysis from position: 28
2 jumps found. (Code = 44) Position 1 = 30, Position 2 = 26
Branch analysis from position: 30
2 jumps found. (Code = 43) Position 1 = 49, Position 2 = 51
Branch analysis from position: 49
1 jumps found. (Code = 42) Position 1 = 52
Branch analysis from position: 52
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 51
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 26
2 jumps found. (Code = 44) Position 1 = 30, Position 2 = 26
Branch analysis from position: 30
Branch analysis from position: 26
Branch analysis from position: 15
2 jumps found. (Code = 44) Position 1 = 20, Position 2 = 15
Branch analysis from position: 20
Branch analysis from position: 15
filename:       /in/I4IQ1
function name:  (null)
number of ops:  65
compiled vars:  !0 = $a, !1 = $i, !2 = $foo, !3 = $arr
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'error_reporting'
          1        FETCH_CONSTANT                                   ~4      'E_NONE'
          2        SEND_VAL                                                 ~4
          3        DO_ICALL                                                 
    4     4        ASSIGN                                                   !0, <array>
    5     5        ASSIGN_DIM                                               !0, 'foo'
          6        OP_DATA                                                  'Foo'
    6     7        FETCH_DIM_W                                      $8      !0, 'foo'
          8        ASSIGN_DIM                                               $8, 'bar'
          9        OP_DATA                                                  'Bar'
    7    10        FETCH_DIM_R                                      ~10     !0, 'foo'
         11        ECHO                                                     ~10
   15    12        ECHO                                                     '%0A'
   17    13        ASSIGN                                                   !1, 0
         14      > JMP                                                      ->18
   18    15    >   MOD                                              ~12     !1, 2
         16        ASSIGN_OP                                     8          !2, ~12
   17    17        PRE_INC                                                  !1
         18    >   IS_SMALLER_OR_EQUAL                                      !1, 2
         19      > JMPNZ                                                    ~15, ->15
   20    20    >   ASSIGN_OP                                     2          !2, 8
   21    21        ECHO                                                     !2
   31    22        ECHO                                                     '%0A'
   33    23        ASSIGN                                                   !2, 'a'
   34    24        ASSIGN                                                   !1, 0
         25      > JMP                                                      ->28
   35    26    >   PRE_INC                                                  !2
   34    27        PRE_INC                                                  !1
         28    >   IS_SMALLER                                               !1, 26
         29      > JMPNZ                                                    ~21, ->26
   37    30    >   ECHO                                                     !2
   48    31        ECHO                                                     '%0A'
   50    32        INIT_FCALL                                               'range'
         33        SEND_VAL                                                 1
         34        SEND_VAL                                                 9
         35        DO_ICALL                                         $22     
         36        ASSIGN                                                   !3, $22
   51    37        FETCH_DIM_R                                      ~25     !3, 0
         38        FETCH_DIM_R                                      ~26     !3, 5
         39        ADD                                              ~27     ~25, ~26
         40        IS_EQUAL                                         ~28     ~27, 7
         41        ASSIGN_DIM                                               !3, 5
         42        OP_DATA                                                  ~28
   52    43        INIT_FCALL                                               'in_array'
         44        SEND_VAL                                                 10
         45        SEND_VAR                                                 !3
         46        DO_ICALL                                         $29     
         47        ASSIGN                                                   !2, $29
   53    48      > JMPZ                                                     !2, ->51
         49    >   QM_ASSIGN                                        ~31     'true'
         50      > JMP                                                      ->52
         51    >   QM_ASSIGN                                        ~31     'false'
         52    >   ECHO                                                     ~31
   57    53        ECHO                                                     '%0A'
   59    54        ASSIGN                                                   !0, 1
   60    55        PRE_INC                                          ~33     !0
         56        PRE_INC                                          ~34     !0
         57        ADD                                              ~35     ~33, ~34
         58        POST_INC                                         ~36     !0
         59        ADD                                              ~37     ~35, ~36
         60        PRE_INC                                          ~38     !0
         61        ADD                                              ~39     ~37, ~38
         62        ASSIGN_OP                                     1          !0, ~39
   61    63        ECHO                                                     !0
   91    64      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
150.57 ms | 1400 KiB | 19 Q