3v4l.org

run code in 300+ PHP versions simultaneously
<?php class U { public $id; public $name; } $a = ['id' => 123, 'name' => 'Me']; $o = (object)$a; var_dump($o); $a0 = new ArrayObject($a); $a1 = new ArrayObject($a, ArrayObject::STD_PROP_LIST); $a2 = new ArrayObject($a, ArrayObject::ARRAY_AS_PROPS); $a3 = new ArrayObject($a, ArrayObject::STD_PROP_LIST | ArrayObject::ARRAY_AS_PROPS); $a3x = new ArrayObject($a, ArrayObject::STD_PROP_LIST & ArrayObject::ARRAY_AS_PROPS); var_dump($a0); var_dump($a0->name); var_dump($a1->name); var_dump($a2->name); var_dump($a3->name); var_dump($a3x->name);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/dAXjk
function name:  (null)
number of ops:  54
compiled vars:  !0 = $a, !1 = $o, !2 = $a0, !3 = $a1, !4 = $a2, !5 = $a3, !6 = $a3x
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    6     0  E >   ASSIGN                                                   !0, <array>
    7     1        CAST                                          8  ~8      !0
          2        ASSIGN                                                   !1, ~8
    8     3        INIT_FCALL                                               'var_dump'
          4        SEND_VAR                                                 !1
          5        DO_ICALL                                                 
   10     6        NEW                                              $11     'ArrayObject'
          7        SEND_VAR_EX                                              !0
          8        DO_FCALL                                      0          
          9        ASSIGN                                                   !2, $11
   11    10        NEW                                              $14     'ArrayObject'
         11        SEND_VAR_EX                                              !0
         12        SEND_VAL_EX                                              1
         13        DO_FCALL                                      0          
         14        ASSIGN                                                   !3, $14
   12    15        NEW                                              $17     'ArrayObject'
         16        SEND_VAR_EX                                              !0
         17        SEND_VAL_EX                                              2
         18        DO_FCALL                                      0          
         19        ASSIGN                                                   !4, $17
   13    20        NEW                                              $20     'ArrayObject'
         21        SEND_VAR_EX                                              !0
         22        SEND_VAL_EX                                              3
         23        DO_FCALL                                      0          
         24        ASSIGN                                                   !5, $20
   14    25        NEW                                              $23     'ArrayObject'
         26        SEND_VAR_EX                                              !0
         27        SEND_VAL_EX                                              0
         28        DO_FCALL                                      0          
         29        ASSIGN                                                   !6, $23
   16    30        INIT_FCALL                                               'var_dump'
         31        SEND_VAR                                                 !2
         32        DO_ICALL                                                 
   18    33        INIT_FCALL                                               'var_dump'
         34        FETCH_OBJ_R                                      ~27     !2, 'name'
         35        SEND_VAL                                                 ~27
         36        DO_ICALL                                                 
   19    37        INIT_FCALL                                               'var_dump'
         38        FETCH_OBJ_R                                      ~29     !3, 'name'
         39        SEND_VAL                                                 ~29
         40        DO_ICALL                                                 
   20    41        INIT_FCALL                                               'var_dump'
         42        FETCH_OBJ_R                                      ~31     !4, 'name'
         43        SEND_VAL                                                 ~31
         44        DO_ICALL                                                 
   21    45        INIT_FCALL                                               'var_dump'
         46        FETCH_OBJ_R                                      ~33     !5, 'name'
         47        SEND_VAL                                                 ~33
         48        DO_ICALL                                                 
   22    49        INIT_FCALL                                               'var_dump'
         50        FETCH_OBJ_R                                      ~35     !6, 'name'
         51        SEND_VAL                                                 ~35
         52        DO_ICALL                                                 
         53      > RETURN                                                   1

Class U: [no user functions]

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
167.03 ms | 1400 KiB | 15 Q