3v4l.org

run code in 500+ PHP versions simultaneously
<?php $one = new SimpleXMLElement("<root><foo>1</foo></root>"); var_dump($one->foo); var_dump((string)$one->foo); var_dump((string)$one->foo[0]); $stillone = new SimpleXMLElement("<root><foo>1</foo><bar /></root>"); var_dump($stillone->foo); var_dump((string)$stillone->foo); var_dump((string)$stillone->foo[0]); $many = new SimpleXMLElement("<root><foo>1</foo><foo>2</foo></root>"); var_dump($many->foo); var_dump((string)$many->foo); var_dump((string)$many->foo[0]);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/n8sJH
function name:  (null)
number of ops:  58
compiled vars:  !0 = $one, !1 = $stillone, !2 = $many
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   NEW                                                  $3      'SimpleXMLElement'
          1        SEND_VAL_EX                                                  '%3Croot%3E%3Cfoo%3E1%3C%2Ffoo%3E%3C%2Froot%3E'
          2        DO_FCALL                                          0          
          3        ASSIGN                                                       !0, $3
    4     4        INIT_FCALL                                                   'var_dump'
          5        FETCH_OBJ_R                                          ~6      !0, 'foo'
          6        SEND_VAL                                                     ~6
          7        DO_ICALL                                                     
    5     8        INIT_FCALL                                                   'var_dump'
          9        FETCH_OBJ_R                                          ~8      !0, 'foo'
         10        CAST                                              6  ~9      ~8
         11        SEND_VAL                                                     ~9
         12        DO_ICALL                                                     
    6    13        INIT_FCALL                                                   'var_dump'
         14        FETCH_OBJ_R                                          ~11     !0, 'foo'
         15        FETCH_DIM_R                                          ~12     ~11, 0
         16        CAST                                              6  ~13     ~12
         17        SEND_VAL                                                     ~13
         18        DO_ICALL                                                     
    8    19        NEW                                                  $15     'SimpleXMLElement'
         20        SEND_VAL_EX                                                  '%3Croot%3E%3Cfoo%3E1%3C%2Ffoo%3E%3Cbar+%2F%3E%3C%2Froot%3E'
         21        DO_FCALL                                          0          
         22        ASSIGN                                                       !1, $15
    9    23        INIT_FCALL                                                   'var_dump'
         24        FETCH_OBJ_R                                          ~18     !1, 'foo'
         25        SEND_VAL                                                     ~18
         26        DO_ICALL                                                     
   10    27        INIT_FCALL                                                   'var_dump'
         28        FETCH_OBJ_R                                          ~20     !1, 'foo'
         29        CAST                                              6  ~21     ~20
         30        SEND_VAL                                                     ~21
         31        DO_ICALL                                                     
   11    32        INIT_FCALL                                                   'var_dump'
         33        FETCH_OBJ_R                                          ~23     !1, 'foo'
         34        FETCH_DIM_R                                          ~24     ~23, 0
         35        CAST                                              6  ~25     ~24
         36        SEND_VAL                                                     ~25
         37        DO_ICALL                                                     
   13    38        NEW                                                  $27     'SimpleXMLElement'
         39        SEND_VAL_EX                                                  '%3Croot%3E%3Cfoo%3E1%3C%2Ffoo%3E%3Cfoo%3E2%3C%2Ffoo%3E%3C%2Froot%3E'
         40        DO_FCALL                                          0          
         41        ASSIGN                                                       !2, $27
   14    42        INIT_FCALL                                                   'var_dump'
         43        FETCH_OBJ_R                                          ~30     !2, 'foo'
         44        SEND_VAL                                                     ~30
         45        DO_ICALL                                                     
   15    46        INIT_FCALL                                                   'var_dump'
         47        FETCH_OBJ_R                                          ~32     !2, 'foo'
         48        CAST                                              6  ~33     ~32
         49        SEND_VAL                                                     ~33
         50        DO_ICALL                                                     
   16    51        INIT_FCALL                                                   'var_dump'
         52        FETCH_OBJ_R                                          ~35     !2, 'foo'
         53        FETCH_DIM_R                                          ~36     ~35, 0
         54        CAST                                              6  ~37     ~36
         55        SEND_VAL                                                     ~37
         56        DO_ICALL                                                     
         57      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
128.09 ms | 482 KiB | 8 Q