3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { public $field_home_thumbs; } $node = New Foo(); $node->field_home_thumbs = array(array('value' => array('field_home_description' => array(array('value' => 'foo'))))); echo $node->field_home_thumbs[0]['value']['field_home_description'][0]['value'], "\n"; $name = 'field_home_thumbs'; $flexifiledname = 'field_home_description'; $string_node = '$node->' . $name . '[0][value][' . $flexifiledname . '][0][value]'; echo "$string_node\n"; echo eval("return $string_node;"), "\n"; $string_node = '$node->' . $name . "[0]['value']['" . $flexifiledname . "'][0]['value']"; echo "$string_node\n"; echo eval("return $string_node;"), "\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/4QZG8
function name:  (null)
number of ops:  44
compiled vars:  !0 = $node, !1 = $name, !2 = $flexifiledname, !3 = $string_node
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    8     0  E >   NEW                                              $4      'Foo'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $4
    9     3        ASSIGN_OBJ                                               !0, 'field_home_thumbs'
          4        OP_DATA                                                  <array>
   10     5        FETCH_OBJ_R                                      ~8      !0, 'field_home_thumbs'
          6        FETCH_DIM_R                                      ~9      ~8, 0
          7        FETCH_DIM_R                                      ~10     ~9, 'value'
          8        FETCH_DIM_R                                      ~11     ~10, 'field_home_description'
          9        FETCH_DIM_R                                      ~12     ~11, 0
         10        FETCH_DIM_R                                      ~13     ~12, 'value'
         11        ECHO                                                     ~13
         12        ECHO                                                     '%0A'
   12    13        ASSIGN                                                   !1, 'field_home_thumbs'
   13    14        ASSIGN                                                   !2, 'field_home_description'
   14    15        CONCAT                                           ~16     '%24node-%3E', !1
         16        CONCAT                                           ~17     ~16, '%5B0%5D%5Bvalue%5D%5B'
         17        CONCAT                                           ~18     ~17, !2
         18        CONCAT                                           ~19     ~18, '%5D%5B0%5D%5Bvalue%5D'
         19        ASSIGN                                                   !3, ~19
   15    20        NOP                                                      
         21        FAST_CONCAT                                      ~21     !3, '%0A'
         22        ECHO                                                     ~21
   16    23        ROPE_INIT                                     3  ~23     'return+'
         24        ROPE_ADD                                      1  ~23     ~23, !3
         25        ROPE_END                                      2  ~22     ~23, '%3B'
         26        INCLUDE_OR_EVAL                                  $25     ~22, EVAL
         27        ECHO                                                     $25
         28        ECHO                                                     '%0A'
   18    29        CONCAT                                           ~26     '%24node-%3E', !1
         30        CONCAT                                           ~27     ~26, '%5B0%5D%5B%27value%27%5D%5B%27'
         31        CONCAT                                           ~28     ~27, !2
         32        CONCAT                                           ~29     ~28, '%27%5D%5B0%5D%5B%27value%27%5D'
         33        ASSIGN                                                   !3, ~29
   19    34        NOP                                                      
         35        FAST_CONCAT                                      ~31     !3, '%0A'
         36        ECHO                                                     ~31
   20    37        ROPE_INIT                                     3  ~33     'return+'
         38        ROPE_ADD                                      1  ~33     ~33, !3
         39        ROPE_END                                      2  ~32     ~33, '%3B'
         40        INCLUDE_OR_EVAL                                  $35     ~32, EVAL
         41        ECHO                                                     $35
         42        ECHO                                                     '%0A'
         43      > RETURN                                                   1

Class Foo: [no user functions]

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
155.99 ms | 1399 KiB | 13 Q