3v4l.org

run code in 300+ PHP versions simultaneously
<? error_reporting(-1); // show all possible errors $obj = new stdclass(); $arr = array(); echo '$arr = array(); var_dump($arr[\'foo\']);'; var_dump($arr['foo']); echo "\n"; echo '$arr = array(); $obj = new stdclass(); var_dump($arr[$obj]);'; var_dump($arr[$obj]); echo "\n"; $arr = null; echo '$arr = null; var_dump($arr[\'foo\']);'; var_dump($arr['foo']); echo "\n"; echo '$arr = null; $obj = new stdclass(); var_dump($arr[$obj]);'; var_dump($arr[$obj]); echo "\n"; echo '$arr = null; $arr[\'i\'] = $arr[\'i\'] + 1;'; $arr['i'] = $arr['i'] + 1; echo "\n"; echo '$arr = null; $arr[\'i\']++;'; $arr['i']++; ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/FZVE3
function name:  (null)
number of ops:  42
compiled vars:  !0 = $obj, !1 = $arr
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'error_reporting'
          1        SEND_VAL                                                 -1
          2        DO_ICALL                                                 
    4     3        NEW                                              $3      'stdclass'
          4        DO_FCALL                                      0          
          5        ASSIGN                                                   !0, $3
    6     6        ASSIGN                                                   !1, <array>
    7     7        ECHO                                                     '%24arr+%3D+array%28%29%3B+var_dump%28%24arr%5B%27foo%27%5D%29%3B'
    8     8        INIT_FCALL                                               'var_dump'
          9        FETCH_DIM_R                                      ~7      !1, 'foo'
         10        SEND_VAL                                                 ~7
         11        DO_ICALL                                                 
    9    12        ECHO                                                     '%0A'
   10    13        ECHO                                                     '%24arr+%3D+array%28%29%3B+%24obj+%3D+new+stdclass%28%29%3B+var_dump%28%24arr%5B%24obj%5D%29%3B'
   11    14        INIT_FCALL                                               'var_dump'
         15        FETCH_DIM_R                                      ~9      !1, !0
         16        SEND_VAL                                                 ~9
         17        DO_ICALL                                                 
   12    18        ECHO                                                     '%0A'
   14    19        ASSIGN                                                   !1, null
   15    20        ECHO                                                     '%24arr+%3D+null%3B+var_dump%28%24arr%5B%27foo%27%5D%29%3B'
   16    21        INIT_FCALL                                               'var_dump'
         22        FETCH_DIM_R                                      ~12     !1, 'foo'
         23        SEND_VAL                                                 ~12
         24        DO_ICALL                                                 
   17    25        ECHO                                                     '%0A'
   18    26        ECHO                                                     '%24arr+%3D+null%3B+%24obj+%3D+new+stdclass%28%29%3B+var_dump%28%24arr%5B%24obj%5D%29%3B'
   19    27        INIT_FCALL                                               'var_dump'
         28        FETCH_DIM_R                                      ~14     !1, !0
         29        SEND_VAL                                                 ~14
         30        DO_ICALL                                                 
   20    31        ECHO                                                     '%0A'
   22    32        ECHO                                                     '%24arr+%3D+null%3B+%24arr%5B%27i%27%5D+%3D+%24arr%5B%27i%27%5D+%2B+1%3B'
   23    33        FETCH_DIM_R                                      ~17     !1, 'i'
         34        ADD                                              ~18     ~17, 1
         35        ASSIGN_DIM                                               !1, 'i'
         36        OP_DATA                                                  ~18
   24    37        ECHO                                                     '%0A'
   26    38        ECHO                                                     '%24arr+%3D+null%3B+%24arr%5B%27i%27%5D%2B%2B%3B'
   27    39        FETCH_DIM_RW                                     $19     !1, 'i'
         40        PRE_INC                                                  $19
   28    41      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
154.87 ms | 1400 KiB | 17 Q