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'; echo str_repeat('=', 50), "\n"; $string_node = "\$node->$name[0][value][$flexifiledname][0][value];"; echo $string_node, "\n"; echo eval("return $string_node"), "\n"; echo str_repeat('=', 50), "\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/t6EbT
function name:  (null)
number of ops:  56
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'
   15    15        INIT_FCALL                                               'str_repeat'
         16        SEND_VAL                                                 '%3D'
         17        SEND_VAL                                                 50
         18        DO_ICALL                                         $16     
         19        ECHO                                                     $16
         20        ECHO                                                     '%0A'
   16    21        ROPE_INIT                                     5  ~19     '%24node-%3E'
         22        FETCH_DIM_R                                      ~17     !1, 0
         23        ROPE_ADD                                      1  ~19     ~19, ~17
         24        ROPE_ADD                                      2  ~19     ~19, '%5Bvalue%5D%5B'
         25        ROPE_ADD                                      3  ~19     ~19, !2
         26        ROPE_END                                      4  ~18     ~19, '%5D%5B0%5D%5Bvalue%5D%3B'
         27        ASSIGN                                                   !3, ~18
   17    28        ECHO                                                     !3
         29        ECHO                                                     '%0A'
   18    30        NOP                                                      
         31        FAST_CONCAT                                      ~23     'return+', !3
         32        INCLUDE_OR_EVAL                                  $24     ~23, EVAL
         33        ECHO                                                     $24
         34        ECHO                                                     '%0A'
   20    35        INIT_FCALL                                               'str_repeat'
         36        SEND_VAL                                                 '%3D'
         37        SEND_VAL                                                 50
         38        DO_ICALL                                         $25     
         39        ECHO                                                     $25
         40        ECHO                                                     '%0A'
   21    41        ROPE_INIT                                     5  ~28     '%24node-%3E'
         42        FETCH_DIM_R                                      ~26     !1, 0
         43        ROPE_ADD                                      1  ~28     ~28, ~26
         44        ROPE_ADD                                      2  ~28     ~28, '%5B%27value%27%5D%5B%27'
         45        ROPE_ADD                                      3  ~28     ~28, !2
         46        ROPE_END                                      4  ~27     ~28, '%27%5D%5B0%5D%5B%27value%27%5D%3B'
         47        ASSIGN                                                   !3, ~27
   22    48        ECHO                                                     !3
         49        ECHO                                                     '%0A'
   23    50        NOP                                                      
         51        FAST_CONCAT                                      ~32     'return+', !3
         52        INCLUDE_OR_EVAL                                  $33     ~32, EVAL
         53        ECHO                                                     $33
         54        ECHO                                                     '%0A'
         55      > RETURN                                                   1

Class Foo: [no user functions]

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
175.01 ms | 1400 KiB | 15 Q