3v4l.org

run code in 300+ PHP versions simultaneously
<?php global $🚀; $🚀 = 0; function 🤔($🏷, $🤔 = 0, \Closure $b = null) { global $🚀; echo str_repeat(' ', $🚀) . ($🤔 ? "" : "🚫 ") . $🏷 . PHP_EOL; $🚀 += 4; if ($b !== null) $b(); $🚀 -= 4; } 🤔("Math", null, function(){ 🤔("Addition", null, function(){ 🤔("One plus one equals two.", 1+1 == 2); 🤔("One plus one equals eleven. (This should fail.)", 1+1 == 11); }); 🤔("Subtraction", null, function(){ 🤔("One minus one equals zero.", 1-1 == 0); 🤔("Ten minus one equal nine.", 10-1 == 9); }); });
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/ZO4Mt
function name:  (null)
number of ops:  9
compiled vars:  !0 = $🚀
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   BIND_GLOBAL                                              !0, '%F0%9F%9A%80'
    4     1        ASSIGN                                                   !0, 0
   15     2        INIT_FCALL                                               '%F0%9F%A4%94'
          3        SEND_VAL                                                 'Math'
          4        SEND_VAL                                                 null
          5        DECLARE_LAMBDA_FUNCTION                                  '%00%7Bclosure%7D%2Fin%2FZO4Mt%3A15%240'
   24     6        SEND_VAL                                                 ~2
          7        DO_FCALL                                      0          
          8      > RETURN                                                   1

Function %F0%9F%A4%94:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 11
Branch analysis from position: 9
1 jumps found. (Code = 42) Position 1 = 12
Branch analysis from position: 12
2 jumps found. (Code = 43) Position 1 = 19, Position 2 = 21
Branch analysis from position: 19
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 21
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 19, Position 2 = 21
Branch analysis from position: 19
Branch analysis from position: 21
filename:       /in/ZO4Mt
function name:  🤔
number of ops:  23
compiled vars:  !0 = $🏷, !1 = $🤔, !2 = $b, !3 = $🚀
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    6     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      0
          2        RECV_INIT                                        !2      null
    8     3        BIND_GLOBAL                                              !3, '%F0%9F%9A%80'
    9     4        INIT_FCALL                                               'str_repeat'
          5        SEND_VAL                                                 '+'
          6        SEND_VAR                                                 !3
          7        DO_ICALL                                         $4      
          8      > JMPZ                                                     !1, ->11
          9    >   QM_ASSIGN                                        ~5      ''
         10      > JMP                                                      ->12
         11    >   QM_ASSIGN                                        ~5      '%F0%9F%9A%AB+'
         12    >   CONCAT                                           ~6      $4, ~5
         13        CONCAT                                           ~7      ~6, !0
         14        CONCAT                                           ~8      ~7, '%0A'
         15        ECHO                                                     ~8
   10    16        ASSIGN_OP                                     1          !3, 4
   11    17        TYPE_CHECK                                  1020          !2
         18      > JMPZ                                                     ~10, ->21
         19    >   INIT_DYNAMIC_CALL                                        !2
         20        DO_FCALL                                      0          
   12    21    >   ASSIGN_OP                                     2          !3, 4
   13    22      > RETURN                                                   null

End of function %F0%9F%A4%94

Function %00%7Bclosure%7D%2Fin%2FZO4Mt%3A15%240:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/ZO4Mt
function name:  {closure}
number of ops:  13
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   16     0  E >   INIT_FCALL                                               '%F0%9F%A4%94'
          1        SEND_VAL                                                 'Addition'
          2        SEND_VAL                                                 null
          3        DECLARE_LAMBDA_FUNCTION                                  '%00%7Bclosure%7D%2Fin%2FZO4Mt%3A16%241'
   19     4        SEND_VAL                                                 ~0
          5        DO_FCALL                                      0          
   20     6        INIT_FCALL                                               '%F0%9F%A4%94'
          7        SEND_VAL                                                 'Subtraction'
          8        SEND_VAL                                                 null
          9        DECLARE_LAMBDA_FUNCTION                                  '%00%7Bclosure%7D%2Fin%2FZO4Mt%3A20%242'
   23    10        SEND_VAL                                                 ~2
         11        DO_FCALL                                      0          
   24    12      > RETURN                                                   null

End of function %00%7Bclosure%7D%2Fin%2FZO4Mt%3A15%240

Function %00%7Bclosure%7D%2Fin%2FZO4Mt%3A16%241:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/ZO4Mt
function name:  {closure}
number of ops:  9
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   17     0  E >   INIT_FCALL                                               '%F0%9F%A4%94'
          1        SEND_VAL                                                 'One+plus+one+equals+two.'
          2        SEND_VAL                                                 <true>
          3        DO_FCALL                                      0          
   18     4        INIT_FCALL                                               '%F0%9F%A4%94'
          5        SEND_VAL                                                 'One+plus+one+equals+eleven.+%28This+should+fail.%29'
          6        SEND_VAL                                                 <false>
          7        DO_FCALL                                      0          
   19     8      > RETURN                                                   null

End of function %00%7Bclosure%7D%2Fin%2FZO4Mt%3A16%241

Function %00%7Bclosure%7D%2Fin%2FZO4Mt%3A20%242:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/ZO4Mt
function name:  {closure}
number of ops:  9
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   21     0  E >   INIT_FCALL                                               '%F0%9F%A4%94'
          1        SEND_VAL                                                 'One+minus+one+equals+zero.'
          2        SEND_VAL                                                 <true>
          3        DO_FCALL                                      0          
   22     4        INIT_FCALL                                               '%F0%9F%A4%94'
          5        SEND_VAL                                                 'Ten+minus+one+equal+nine.'
          6        SEND_VAL                                                 <true>
          7        DO_FCALL                                      0          
   23     8      > RETURN                                                   null

End of function %00%7Bclosure%7D%2Fin%2FZO4Mt%3A20%242

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
175.3 ms | 1403 KiB | 22 Q