3v4l.org

run code in 500+ PHP versions simultaneously
<?php $lol1 = 'var_dump'; $lol2 = 'sprintf'; $lol3 = 'floatval'; $lol4 = 'print'; print('type: ' . gettype($lol1) . "\n"); $lol1('PHP: Madness var_dump'); print('type: ' . gettype($lol2) . "\n"); $lol1($lol2('PHP: Madness sprintf')); print('type: ' . gettype($lol3) . "\n"); $lol1($lol3('PHP: Madness floatval')); # But to keep PHP consistent print does not work. print('type: ' . gettype($lol4) . "\n"); print('This works.'); $lol4('PHP: Madness print');
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/FRPIp
function name:  (null)
number of ops:  40
compiled vars:  !0 = $lol1, !1 = $lol2, !2 = $lol3, !3 = $lol4
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, 'var_dump'
    4     1        ASSIGN                                                       !1, 'sprintf'
    5     2        ASSIGN                                                       !2, 'floatval'
    6     3        ASSIGN                                                       !3, 'print'
    8     4        GET_TYPE                                             ~8      !0
          5        CONCAT                                               ~9      'type%3A+', ~8
          6        CONCAT                                               ~10     ~9, '%0A'
          7        ECHO                                                         ~10
    9     8        INIT_DYNAMIC_CALL                                            !0
          9        SEND_VAL_EX                                                  'PHP%3A+Madness+var_dump'
         10        DO_FCALL                                          0          
   11    11        GET_TYPE                                             ~12     !1
         12        CONCAT                                               ~13     'type%3A+', ~12
         13        CONCAT                                               ~14     ~13, '%0A'
         14        ECHO                                                         ~14
   12    15        INIT_DYNAMIC_CALL                                            !0
         16        INIT_DYNAMIC_CALL                                            !1
         17        SEND_VAL_EX                                                  'PHP%3A+Madness+sprintf'
         18        DO_FCALL                                          0  $15     
         19        SEND_VAR_NO_REF_EX                                           $15
         20        DO_FCALL                                          0          
   15    21        GET_TYPE                                             ~17     !2
         22        CONCAT                                               ~18     'type%3A+', ~17
         23        CONCAT                                               ~19     ~18, '%0A'
         24        ECHO                                                         ~19
   16    25        INIT_DYNAMIC_CALL                                            !0
         26        INIT_DYNAMIC_CALL                                            !2
         27        SEND_VAL_EX                                                  'PHP%3A+Madness+floatval'
         28        DO_FCALL                                          0  $20     
         29        SEND_VAR_NO_REF_EX                                           $20
         30        DO_FCALL                                          0          
   20    31        GET_TYPE                                             ~22     !3
         32        CONCAT                                               ~23     'type%3A+', ~22
         33        CONCAT                                               ~24     ~23, '%0A'
         34        ECHO                                                         ~24
   21    35        ECHO                                                         'This+works.'
   22    36        INIT_DYNAMIC_CALL                                            !3
         37        SEND_VAL_EX                                                  'PHP%3A+Madness+print'
         38        DO_FCALL                                          0          
         39      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
161.55 ms | 2357 KiB | 13 Q