3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = ["abc\0def" => "abc\0def"]; $obj = (object)$arr; print_r($arr); echo "\n"; var_dump($obj); echo "\n"; echo serialize($obj); echo "\n"; echo (int)property_exists($obj, "abc"); echo "\n"; echo (int)isset($obj->{"abc"}); echo "\n"; echo json_encode($obj); echo "\n"; var_dump((array)$obj); echo "\n"; var_export($obj); echo "\n"; print_r($obj); echo "\n"; debug_zval_dump($obj); echo "\n"; var_dump(get_object_vars($obj)); echo "\n"; echo get_object_vars($obj)["abc"]; echo "\n"; foreach ($obj as $key=>$val) { echo $key." : ".$val."\n"; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 63, Position 2 = 70
Branch analysis from position: 63
2 jumps found. (Code = 78) Position 1 = 64, Position 2 = 70
Branch analysis from position: 64
1 jumps found. (Code = 42) Position 1 = 63
Branch analysis from position: 63
Branch analysis from position: 70
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 70
filename:       /in/IRsaI
function name:  (null)
number of ops:  72
compiled vars:  !0 = $arr, !1 = $obj, !2 = $val, !3 = $key
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <array>
    3     1        CAST                                          8  ~5      !0
          2        ASSIGN                                                   !1, ~5
    5     3        INIT_FCALL                                               'print_r'
          4        SEND_VAR                                                 !0
          5        DO_ICALL                                                 
    6     6        ECHO                                                     '%0A'
    7     7        INIT_FCALL                                               'var_dump'
          8        SEND_VAR                                                 !1
          9        DO_ICALL                                                 
    8    10        ECHO                                                     '%0A'
    9    11        INIT_FCALL                                               'serialize'
         12        SEND_VAR                                                 !1
         13        DO_ICALL                                         $9      
         14        ECHO                                                     $9
   10    15        ECHO                                                     '%0A'
   11    16        INIT_FCALL                                               'property_exists'
         17        SEND_VAR                                                 !1
         18        SEND_VAL                                                 'abc'
         19        DO_ICALL                                         $10     
         20        CAST                                          4  ~11     $10
         21        ECHO                                                     ~11
   12    22        ECHO                                                     '%0A'
   13    23        ISSET_ISEMPTY_PROP_OBJ                           ~12     !1, 'abc'
         24        CAST                                          4  ~13     ~12
         25        ECHO                                                     ~13
   14    26        ECHO                                                     '%0A'
   15    27        INIT_FCALL                                               'json_encode'
         28        SEND_VAR                                                 !1
         29        DO_ICALL                                         $14     
         30        ECHO                                                     $14
   16    31        ECHO                                                     '%0A'
   17    32        INIT_FCALL                                               'var_dump'
         33        CAST                                          7  ~15     !1
         34        SEND_VAL                                                 ~15
         35        DO_ICALL                                                 
   18    36        ECHO                                                     '%0A'
   20    37        INIT_FCALL                                               'var_export'
         38        SEND_VAR                                                 !1
         39        DO_ICALL                                                 
   21    40        ECHO                                                     '%0A'
   22    41        INIT_FCALL                                               'print_r'
         42        SEND_VAR                                                 !1
         43        DO_ICALL                                                 
   23    44        ECHO                                                     '%0A'
   24    45        INIT_FCALL                                               'debug_zval_dump'
         46        SEND_VAR                                                 !1
         47        DO_ICALL                                                 
   25    48        ECHO                                                     '%0A'
   26    49        INIT_FCALL                                               'var_dump'
         50        INIT_FCALL                                               'get_object_vars'
         51        SEND_VAR                                                 !1
         52        DO_ICALL                                         $20     
         53        SEND_VAR                                                 $20
         54        DO_ICALL                                                 
   27    55        ECHO                                                     '%0A'
   28    56        INIT_FCALL                                               'get_object_vars'
         57        SEND_VAR                                                 !1
         58        DO_ICALL                                         $22     
         59        FETCH_DIM_R                                      ~23     $22, 'abc'
         60        ECHO                                                     ~23
   29    61        ECHO                                                     '%0A'
   30    62      > FE_RESET_R                                       $24     !1, ->70
         63    > > FE_FETCH_R                                       ~25     $24, !2, ->70
         64    >   ASSIGN                                                   !3, ~25
   31    65        CONCAT                                           ~27     !3, '+%3A+'
         66        CONCAT                                           ~28     ~27, !2
         67        CONCAT                                           ~29     ~28, '%0A'
         68        ECHO                                                     ~29
   30    69      > JMP                                                      ->63
         70    >   FE_FREE                                                  $24
   32    71      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
155.65 ms | 1400 KiB | 29 Q