3v4l.org

run code in 300+ PHP versions simultaneously
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 7, Position 2 = 29
Branch analysis from position: 7
2 jumps found. (Code = 78) Position 1 = 8, Position 2 = 29
Branch analysis from position: 8
1 jumps found. (Code = 42) Position 1 = 7
Branch analysis from position: 7
Branch analysis from position: 29
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 29
filename:       /in/jaq5q
function name:  (null)
number of ops:  31
compiled vars:  !0 = $tests, !1 = $funcs, !2 = $func
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, <array>
  180     1        INIT_FCALL                                               'printf'
          2        SEND_VAL                                                 '%7C+%2520s%7C++0%EF%B8%8F%E2%83%A3++%7C++1%EF%B8%8F%E2%83%A3++%7C++2%EF%B8%8F%E2%83%A3++%7C++3%EF%B8%8F%E2%83%A3++%7C++4%EF%B8%8F%E2%83%A3++%7C++5%EF%B8%8F%E2%83%A3++%7C%0A'
          3        SEND_VAL                                                 'user+%5C+elements'
          4        DO_ICALL                                                 
  181     5        ASSIGN                                                   !1, <array>
  204     6      > FE_RESET_R                                       $6      !1, ->29
          7    > > FE_FETCH_R                                               $6, !2, ->29
  205     8    >   ECHO                                                     '--------------------------------------------------------------------%0A'
  206     9        INIT_FCALL                                               'printf'
  207    10        SEND_VAL                                                 '%7C+%2520s%7C++%25s++%7C++%25s++%7C++%25s++%7C++%25s++%7C++%25s++%7C++%25s++%7C%0A'
  208    11        SEND_VAR                                                 !2
  209    12        INIT_FCALL                                               'array_map'
  210    13        DECLARE_LAMBDA_FUNCTION                          ~7      [0]
         14        SEND_VAL                                                 ~7
  211    15        INIT_FCALL                                               'array_map'
         16        SEND_VAR                                                 !2
         17        SEND_VAR                                                 !0
         18        DO_ICALL                                         $8      
         19        SEND_VAR                                                 $8
  212    20        INIT_FCALL                                               'array_keys'
         21        SEND_VAR                                                 !0
         22        DO_ICALL                                         $9      
         23        SEND_VAR                                                 $9
  209    24        DO_ICALL                                         $10     
  212    25        SEND_UNPACK                                              $10
         26        CHECK_UNDEF_ARGS                                         
  206    27        DO_ICALL                                                 
  204    28      > JMP                                                      ->7
         29    >   FE_FREE                                                  $6
  215    30      > RETURN                                                   1


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 6
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 7
Branch analysis from position: 7
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/jaq5q
function name:  {closure}
number of ops:  9
compiled vars:  !0 = $result, !1 = $expected
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  210     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        IS_IDENTICAL                                             !0, !1
          3      > JMPZ                                                     ~2, ->6
          4    >   QM_ASSIGN                                        ~3      '%E2%9C%85'
          5      > JMP                                                      ->7
          6    >   QM_ASSIGN                                        ~3      '%F0%9F%92%A9'
          7    > > RETURN                                                   ~3
          8*     > RETURN                                                   null

End of Dynamic Function 0

Function mickmackusa1:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/jaq5q
function name:  mickmackusa1
number of ops:  21
compiled vars:  !0 = $words, !1 = $separator, !2 = $conjunction
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   12     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      '%2C+'
          2        RECV_INIT                                        !2      '+and+'
   13     3        INIT_FCALL                                               'implode'
          4        SEND_VAR                                                 !1
          5        INIT_FCALL                                               'implode'
          6        SEND_VAR                                                 !2
          7        INIT_FCALL                                               'array_splice'
          8        SEND_REF                                                 !0
          9        SEND_VAL                                                 -2
         10        DO_ICALL                                         $3      
         11        SEND_VAR                                                 $3
         12        DO_ICALL                                         $4      
         13        INIT_ARRAY                                       ~5      $4, 'last'
         14        ADD                                              ~6      !0, ~5
         15        SEND_VAL                                                 ~6
         16        DO_ICALL                                         $7      
         17        VERIFY_RETURN_TYPE                                       $7
         18      > RETURN                                                   $7
   14    19*       VERIFY_RETURN_TYPE                                       
         20*     > RETURN                                                   null

End of function mickmackusa1

Function mickmackusa2:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/jaq5q
function name:  mickmackusa2
number of ops:  24
compiled vars:  !0 = $words, !1 = $separator, !2 = $conjunction
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   16     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      '%2C+'
          2        RECV_INIT                                        !2      '+and+'
   17     3        INIT_FCALL                                               'implode'
          4        SEND_VAR                                                 !2
          5        INIT_FCALL                                               'implode'
          6        SEND_VAR                                                 !1
          7        INIT_FCALL                                               'array_splice'
          8        SEND_REF                                                 !0
          9        SEND_VAL                                                 0
         10        SEND_VAL                                                 -1
         11        DO_ICALL                                         $3      
         12        SEND_VAR                                                 $3
         13        DO_ICALL                                         $4      
         14        JMP_SET                                          ~5      $4, ->16
         15        QM_ASSIGN                                        ~5      <array>
         16        CAST                                          7  ~6      ~5
         17        INIT_ARRAY                                       ~7      
         18        ADD_ARRAY_UNPACK                                 ~7      ~6
         19        ADD_ARRAY_UNPACK                                 ~7      !0
         20        SEND_VAL                                                 ~7
         21        DO_ICALL                                         $8      
         22      > RETURN                                                   $8
   18    23*     > RETURN                                                   null

End of function mickmackusa2

Function angrydan:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 15
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 15
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/jaq5q
function name:  angryDan
number of ops:  18
compiled vars:  !0 = $words, !1 = $separator, !2 = $conjunction, !3 = $last
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   21     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      '%2C+'
          2        RECV_INIT                                        !2      '+and+'
   22     3        INIT_FCALL                                               'array_pop'
          4        SEND_REF                                                 !0
          5        DO_ICALL                                         $4      
          6        ASSIGN                                                   !3, $4
   23     7      > JMPZ                                                     !0, ->15
   24     8    >   INIT_FCALL                                               'implode'
          9        SEND_VAR                                                 !1
         10        SEND_VAR                                                 !0
         11        DO_ICALL                                         $6      
         12        CONCAT                                           ~7      $6, !2
         13        CONCAT                                           ~8      ~7, !3
         14      > RETURN                                                   ~8
   26    15    > > RETURN                                                   !3
   27    16*       VERIFY_RETURN_TYPE                                       
         17*     > RETURN                                                   null

End of function angrydan

Function deceze:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/jaq5q
function name:  deceze
number of ops:  33
compiled vars:  !0 = $words, !1 = $separator, !2 = $conjunction
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   29     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      '%2C+'
          2        RECV_INIT                                        !2      '+and+'
   30     3        INIT_FCALL                                               'join'
          4        SEND_VAR                                                 !2
          5        INIT_FCALL                                               'array_filter'
          6        INIT_FCALL                                               'array_merge'
          7        INIT_FCALL                                               'join'
          8        SEND_VAL                                                 '%2C+'
          9        INIT_FCALL                                               'array_slice'
         10        SEND_VAR                                                 !0
         11        SEND_VAL                                                 0
         12        SEND_VAL                                                 -1
         13        DO_ICALL                                         $3      
         14        SEND_VAR                                                 $3
         15        DO_ICALL                                         $4      
         16        INIT_ARRAY                                       ~5      $4
         17        SEND_VAL                                                 ~5
         18        INIT_FCALL                                               'array_slice'
         19        SEND_VAR                                                 !0
         20        SEND_VAL                                                 -1
         21        DO_ICALL                                         $6      
         22        SEND_VAR                                                 $6
         23        DO_ICALL                                         $7      
         24        SEND_VAR                                                 $7
         25        SEND_VAL                                                 'strlen'
         26        DO_ICALL                                         $8      
         27        SEND_VAR                                                 $8
         28        DO_ICALL                                         $9      
         29        VERIFY_RETURN_TYPE                                       $9
         30      > RETURN                                                   $9
   31    31*       VERIFY_RETURN_TYPE                                       
         32*     > RETURN                                                   null

End of function deceze

Function jercsi:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/jaq5q
function name:  jercSi
number of ops:  18
compiled vars:  !0 = $words, !1 = $separator, !2 = $conjunction, !3 = $lastItem, !4 = $text
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   33     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      '%2C+'
          2        RECV_INIT                                        !2      '+and+'
   34     3        INIT_FCALL                                               'array_pop'
          4        SEND_REF                                                 !0
          5        DO_ICALL                                         $5      
          6        ASSIGN                                                   !3, $5
   35     7        INIT_FCALL                                               'implode'
          8        SEND_VAR                                                 !1
          9        SEND_VAR                                                 !0
         10        DO_ICALL                                         $7      
         11        ASSIGN                                                   !4, $7
   36    12        CONCAT                                           ~9      !2, !3
         13        ASSIGN_OP                                     8          !4, ~9
   37    14        VERIFY_RETURN_TYPE                                       !4
         15      > RETURN                                                   !4
   38    16*       VERIFY_RETURN_TYPE                                       
         17*     > RETURN                                                   null

End of function jercsi

Function enrique:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 15
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 15
filename:       /in/jaq5q
function name:  enrique
number of ops:  18
compiled vars:  !0 = $words, !1 = $separator, !2 = $conjunction, !3 = $str
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   40     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      '%2C+'
          2        RECV_INIT                                        !2      '+and+'
   41     3        INIT_FCALL                                               'array_pop'
          4        SEND_REF                                                 !0
          5        DO_ICALL                                         $4      
          6        ASSIGN                                                   !3, $4
   42     7      > JMPZ                                                     !0, ->15
   43     8    >   INIT_FCALL                                               'implode'
          9        SEND_VAR                                                 !1
         10        SEND_VAR                                                 !0
         11        DO_ICALL                                         $6      
         12        CONCAT                                           ~7      $6, !2
         13        CONCAT                                           ~8      ~7, !3
         14        ASSIGN                                                   !3, ~8
   44    15    > > RETURN                                                   !3
   45    16*       VERIFY_RETURN_TYPE                                       
         17*     > RETURN                                                   null

End of function enrique

Function jjwright:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 17
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 18
Branch analysis from position: 18
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/jaq5q
function name:  jJWright
number of ops:  23
compiled vars:  !0 = $words, !1 = $separator, !2 = $conjunction, !3 = $last, !4 = $remaining
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   47     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      '%2C+'
          2        RECV_INIT                                        !2      '+and+'
   48     3        INIT_FCALL                                               'array_pop'
          4        SEND_REF                                                 !0
          5        DO_ICALL                                         $5      
          6        ASSIGN                                                   !3, $5
   49     7        COUNT                                            ~7      !0
          8        ASSIGN                                                   !4, ~7
   50     9      > JMPZ                                                     !4, ->17
         10    >   INIT_FCALL                                               'implode'
         11        SEND_VAL                                                 '%2C+'
         12        SEND_VAR                                                 !0
         13        DO_ICALL                                         $9      
         14        CONCAT                                           ~10     $9, !2
         15        QM_ASSIGN                                        ~11     ~10
         16      > JMP                                                      ->18
         17    >   QM_ASSIGN                                        ~11     ''
         18    >   CONCAT                                           ~12     ~11, !3
         19        VERIFY_RETURN_TYPE                                       ~12
         20      > RETURN                                                   ~12
   51    21*       VERIFY_RETURN_TYPE                                       
         22*     > RETURN                                                   null

End of function jjwright

Function sevavietl:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/jaq5q
function name:  sevavietl
number of ops:  28
compiled vars:  !0 = $words, !1 = $separator, !2 = $conjunction
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   53     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      '%2C+'
          2        RECV_INIT                                        !2      '+and+'
   54     3        INIT_FCALL                                               'implode'
   55     4        INIT_FCALL                                               'array_map'
   56     5        DECLARE_LAMBDA_FUNCTION                          ~3      [0]
          6        SEND_VAL                                                 ~3
   57     7        SEND_VAR                                                 !0
   58     8        INIT_FCALL                                               'array_slice'
          9        INIT_FCALL                                               'array_fill'
         10        SEND_VAL                                                 0
         11        COUNT                                            ~4      !0
         12        SEND_VAL                                                 ~4
         13        SEND_VAR                                                 !1
         14        DO_ICALL                                         $5      
         15        INIT_ARRAY                                       ~6      !2, 'last'
         16        ADD                                              ~7      $5, ~6
         17        SEND_VAL                                                 ~7
         18        SEND_VAL                                                 2
         19        DO_ICALL                                         $8      
         20        SEND_VAR                                                 $8
   55    21        DO_ICALL                                         $9      
   58    22        SEND_VAR                                                 $9
   54    23        DO_ICALL                                         $10     
   58    24        VERIFY_RETURN_TYPE                                       $10
         25      > RETURN                                                   $10
   61    26*       VERIFY_RETURN_TYPE                                       
         27*     > RETURN                                                   null


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/jaq5q
function name:  {closure}
number of ops:  5
compiled vars:  !0 = $item, !1 = $glue
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   56     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        CONCAT                                           ~2      !0, !1
          3      > RETURN                                                   ~2
          4*     > RETURN                                                   null

End of Dynamic Function 0

End of function sevavietl

Function vision:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/jaq5q
function name:  vision
number of ops:  21
compiled vars:  !0 = $words, !1 = $separator, !2 = $conjunction
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   63     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      '%2C+'
          2        RECV_INIT                                        !2      '+and+'
   64     3        INIT_FCALL                                               'implode'
          4        SEND_VAR                                                 !2
          5        INIT_FCALL                                               'array_splice'
          6        SEND_REF                                                 !0
          7        SEND_VAL                                                 -2
          8        DO_ICALL                                         $4      
          9        SEND_VAR                                                 $4
         10        DO_ICALL                                         $5      
         11        ASSIGN_DIM                                               !0
         12        OP_DATA                                                  $5
   65    13        INIT_FCALL                                               'implode'
         14        SEND_VAR                                                 !1
         15        SEND_VAR                                                 !0
         16        DO_ICALL                                         $6      
         17        VERIFY_RETURN_TYPE                                       $6
         18      > RETURN                                                   $6
   66    19*       VERIFY_RETURN_TYPE                                       
         20*     > RETURN                                                   null

End of function vision

Function uruapanmexicansong:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 18
Branch analysis from position: 11
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 18
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/jaq5q
function name:  uruapanmexicansong
number of ops:  32
compiled vars:  !0 = $words, !1 = $separator, !2 = $conjunction, !3 = $str
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   68     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      '%2C+'
          2        RECV_INIT                                        !2      '+and+'
   69     3        INIT_FCALL                                               'implode'
          4        SEND_VAR                                                 !1
          5        SEND_VAR                                                 !0
          6        DO_ICALL                                         $4      
          7        ASSIGN                                                   !3, $4
   70     8        COUNT                                            ~6      !0
          9        IS_EQUAL                                                 ~6, 2
         10      > JMPZ                                                     ~7, ->18
   71    11    >   INIT_FCALL                                               'str_replace'
         12        SEND_VAR                                                 !1
         13        SEND_VAR                                                 !2
         14        SEND_VAR                                                 !3
         15        DO_ICALL                                         $8      
         16        VERIFY_RETURN_TYPE                                       $8
         17      > RETURN                                                   $8
   73    18    >   INIT_FCALL                                               'preg_replace'
         19        ROPE_INIT                                     5  ~10     '%2F%5B'
         20        ROPE_ADD                                      1  ~10     ~10, !1
         21        ROPE_ADD                                      2  ~10     ~10, '%5D%28%3F%21.%2A%5B'
         22        ROPE_ADD                                      3  ~10     ~10, !1
         23        ROPE_END                                      4  ~9      ~10, '%5D%29%2F'
         24        SEND_VAL                                                 ~9
         25        SEND_VAR                                                 !2
         26        SEND_VAR                                                 !3
         27        DO_ICALL                                         $13     
         28        VERIFY_RETURN_TYPE                                       $13
         29      > RETURN                                                   $13
   74    30*       VERIFY_RETURN_TYPE                                       
         31*     > RETURN                                                   null

End of function uruapanmexicansong

Function planetx:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 6, Position 2 = 25
Branch analysis from position: 6
2 jumps found. (Code = 78) Position 1 = 7, Position 2 = 25
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 12, Position 2 = 15
Branch analysis from position: 12
1 jumps found. (Code = 42) Position 1 = 24
Branch analysis from position: 24
1 jumps found. (Code = 42) Position 1 = 6
Branch analysis from position: 6
Branch analysis from position: 15
2 jumps found. (Code = 43) Position 1 = 19, Position 2 = 22
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 24
Branch analysis from position: 24
Branch analysis from position: 22
1 jumps found. (Code = 42) Position 1 = 6
Branch analysis from position: 6
Branch analysis from position: 25
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 25
filename:       /in/jaq5q
function name:  planetX
number of ops:  32
compiled vars:  !0 = $words, !1 = $separator, !2 = $conjunction, !3 = $value, !4 = $key
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   76     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      '%2C+'
          2        RECV_INIT                                        !2      'and+'
   77     3        INIT_FCALL                                               'ob_start'
          4        DO_ICALL                                                 
   78     5      > FE_RESET_R                                       $6      !0, ->25
          6    > > FE_FETCH_R                                       ~7      $6, !3, ->25
          7    >   ASSIGN                                                   !4, ~7
   79     8        COUNT                                            ~9      !0
          9        SUB                                              ~10     ~9, 1
         10        IS_EQUAL                                                 !4, ~10
         11      > JMPZ                                                     ~11, ->15
   80    12    >   CONCAT                                           ~12     !2, !3
         13        ECHO                                                     ~12
   79    14      > JMP                                                      ->24
   81    15    >   COUNT                       

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
180.89 ms | 1016 KiB | 27 Q