3v4l.org

run code in 300+ PHP versions simultaneously
<?php $values['test'] = "foo']) OR die('RCE');"; $myVar = 'test'; eval("\$x = (isset(\$values$myVar)) ? \$values$myVar : null;"); print_r($x);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/TP8Vk
function name:  (null)
number of ops:  13
compiled vars:  !0 = $values, !1 = $myVar, !2 = $x
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN_DIM                                               !0, 'test'
          1        OP_DATA                                                  'foo%27%5D%29+OR+die%28%27RCE%27%29%3B'
    4     2        ASSIGN                                                   !1, 'test'
    6     3        ROPE_INIT                                     5  ~6      '%24x+%3D+%28isset%28%24values'
          4        ROPE_ADD                                      1  ~6      ~6, !1
          5        ROPE_ADD                                      2  ~6      ~6, '%29%29+%3F+%24values'
          6        ROPE_ADD                                      3  ~6      ~6, !1
          7        ROPE_END                                      4  ~5      ~6, '+%3A+null%3B'
          8        INCLUDE_OR_EVAL                                          ~5, EVAL
    8     9        INIT_FCALL                                               'print_r'
         10        SEND_VAR                                                 !2
         11        DO_ICALL                                                 
         12      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
166.38 ms | 1394 KiB | 15 Q