3v4l.org

run code in 300+ 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.0.0


preferences:
149.01 ms | 1013 KiB | 16 Q