3v4l.org

run code in 500+ PHP versions simultaneously
<?php $url = "http://localhost/Sub/Key/Key-XYZ-1234.php"; $path = parse_url($url, PHP_URL_PATH); $file = basename($path, '.php'); list($v1, $v2, $v3) = preg_split('/[-_]/', $file); echo "\$v1 = $v1\n\$v2 = $v2\n\$v3 = $v3\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/llku4
function name:  (null)
number of ops:  31
compiled vars:  !0 = $url, !1 = $path, !2 = $file, !3 = $v1, !4 = $v2, !5 = $v3
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, 'http%3A%2F%2Flocalhost%2FSub%2FKey%2FKey-XYZ-1234.php'
    4     1        INIT_FCALL                                                   'parse_url'
          2        SEND_VAR                                                     !0
          3        SEND_VAL                                                     5
          4        DO_ICALL                                             $7      
          5        ASSIGN                                                       !1, $7
    5     6        INIT_FCALL                                                   'basename'
          7        SEND_VAR                                                     !1
          8        SEND_VAL                                                     '.php'
          9        DO_ICALL                                             $9      
         10        ASSIGN                                                       !2, $9
    6    11        INIT_FCALL                                                   'preg_split'
         12        SEND_VAL                                                     '%2F%5B-_%5D%2F'
         13        SEND_VAR                                                     !2
         14        DO_ICALL                                             $11     
         15        FETCH_LIST_R                                         $12     $11, 0
         16        ASSIGN                                                       !3, $12
         17        FETCH_LIST_R                                         $14     $11, 1
         18        ASSIGN                                                       !4, $14
         19        FETCH_LIST_R                                         $16     $11, 2
         20        ASSIGN                                                       !5, $16
         21        FREE                                                         $11
    7    22        ROPE_INIT                                         7  ~19     '%24v1+%3D+'
         23        ROPE_ADD                                          1  ~19     ~19, !3
         24        ROPE_ADD                                          2  ~19     ~19, '%0A%24v2+%3D+'
         25        ROPE_ADD                                          3  ~19     ~19, !4
         26        ROPE_ADD                                          4  ~19     ~19, '%0A%24v3+%3D+'
         27        ROPE_ADD                                          5  ~19     ~19, !5
         28        ROPE_END                                          6  ~18     ~19, '%0A'
         29        ECHO                                                         ~18
         30      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
160.34 ms | 2254 KiB | 16 Q