3v4l.org

run code in 300+ PHP versions simultaneously
<?php $obj = (object) ["test"]; $zeroInt = 0; $zeroString = "0"; var_dump( $obj, $obj->{0}, $obj->{"0"}, $obj->$zeroInt, $obj->$zeroString ); $r = new ReflectionObject($obj); foreach ($r->getProperties() as $prop) { var_dump($prop->getName(), $prop->getValue($obj)); }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 22, Position 2 = 33
Branch analysis from position: 22
2 jumps found. (Code = 78) Position 1 = 23, Position 2 = 33
Branch analysis from position: 23
1 jumps found. (Code = 42) Position 1 = 22
Branch analysis from position: 22
Branch analysis from position: 33
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 33
filename:       /in/LrL1t
function name:  (null)
number of ops:  35
compiled vars:  !0 = $obj, !1 = $zeroInt, !2 = $zeroString, !3 = $r, !4 = $prop
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   CAST                                          8  ~5      <array>
          1        ASSIGN                                                   !0, ~5
    5     2        ASSIGN                                                   !1, 0
    6     3        ASSIGN                                                   !2, '0'
    8     4        INIT_FCALL                                               'var_dump'
    9     5        SEND_VAR                                                 !0
   10     6        FETCH_OBJ_R                                      ~9      !0, '0'
          7        SEND_VAL                                                 ~9
   11     8        FETCH_OBJ_R                                      ~10     !0, '0'
          9        SEND_VAL                                                 ~10
   12    10        FETCH_OBJ_R                                      ~11     !0, !1
         11        SEND_VAL                                                 ~11
   13    12        FETCH_OBJ_R                                      ~12     !0, !2
         13        SEND_VAL                                                 ~12
         14        DO_ICALL                                                 
   17    15        NEW                                              $14     'ReflectionObject'
         16        SEND_VAR_EX                                              !0
         17        DO_FCALL                                      0          
         18        ASSIGN                                                   !3, $14
   18    19        INIT_METHOD_CALL                                         !3, 'getProperties'
         20        DO_FCALL                                      0  $17     
         21      > FE_RESET_R                                       $18     $17, ->33
         22    > > FE_FETCH_R                                               $18, !4, ->33
   19    23    >   INIT_FCALL                                               'var_dump'
         24        INIT_METHOD_CALL                                         !4, 'getName'
         25        DO_FCALL                                      0  $19     
         26        SEND_VAR                                                 $19
         27        INIT_METHOD_CALL                                         !4, 'getValue'
         28        SEND_VAR_EX                                              !0
         29        DO_FCALL                                      0  $20     
         30        SEND_VAR                                                 $20
         31        DO_ICALL                                                 
   18    32      > JMP                                                      ->22
         33    >   FE_FREE                                                  $18
   20    34      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
154.06 ms | 1396 KiB | 15 Q