3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = array("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"; $b = get_object_vars($obj); echo $b["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 = 64, Position 2 = 71
Branch analysis from position: 64
2 jumps found. (Code = 78) Position 1 = 65, Position 2 = 71
Branch analysis from position: 65
1 jumps found. (Code = 42) Position 1 = 64
Branch analysis from position: 64
Branch analysis from position: 71
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 71
filename:       /in/qKQD2
function name:  (null)
number of ops:  73
compiled vars:  !0 = $arr, !1 = $obj, !2 = $b, !3 = $val, !4 = $key
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <array>
    3     1        CAST                                          8  ~6      !0
          2        ASSIGN                                                   !1, ~6
    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                                         $10     
         14        ECHO                                                     $10
   10    15        ECHO                                                     '%0A'
   11    16        INIT_FCALL                                               'property_exists'
         17        SEND_VAR                                                 !1
         18        SEND_VAL                                                 'abc'
         19        DO_ICALL                                         $11     
         20        CAST                                          4  ~12     $11
         21        ECHO                                                     ~12
   12    22        ECHO                                                     '%0A'
   13    23        ISSET_ISEMPTY_PROP_OBJ                           ~13     !1, 'abc'
         24        CAST                                          4  ~14     ~13
         25        ECHO                                                     ~14
   14    26        ECHO                                                     '%0A'
   15    27        INIT_FCALL                                               'json_encode'
         28        SEND_VAR                                                 !1
         29        DO_ICALL                                         $15     
         30        ECHO                                                     $15
   16    31        ECHO                                                     '%0A'
   17    32        INIT_FCALL                                               'var_dump'
         33        CAST                                          7  ~16     !1
         34        SEND_VAL                                                 ~16
         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                                         $21     
         53        SEND_VAR                                                 $21
         54        DO_ICALL                                                 
   27    55        ECHO                                                     '%0A'
   28    56        INIT_FCALL                                               'get_object_vars'
         57        SEND_VAR                                                 !1
         58        DO_ICALL                                         $23     
         59        ASSIGN                                                   !2, $23
   29    60        FETCH_DIM_R                                      ~25     !2, 'abc'
         61        ECHO                                                     ~25
   30    62        ECHO                                                     '%0A'
   31    63      > FE_RESET_R                                       $26     !1, ->71
         64    > > FE_FETCH_R                                       ~27     $26, !3, ->71
         65    >   ASSIGN                                                   !4, ~27
   32    66        CONCAT                                           ~29     !4, '+%3A+'
         67        CONCAT                                           ~30     ~29, !3
         68        CONCAT                                           ~31     ~30, '%0A'
         69        ECHO                                                     ~31
   31    70      > JMP                                                      ->64
         71    >   FE_FREE                                                  $26
   33    72      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
183.6 ms | 1405 KiB | 29 Q