3v4l.org

run code in 300+ PHP versions simultaneously
<?php $server_path = "/test1/test2/"; echo rtrim($server_path , '/'); $server_path = str_replace(array('/', '\\'), '/', $server_path); var_dump($server_path); $next_server_path = substr($server_path, 0, strrpos($server_path, '/')); var_dump($next_server_path); echo "\n\n"; $server_path = "/test1/test2"; echo rtrim($server_path , '/'); $server_path = str_replace(array('/', '\\'), '/', $server_path); var_dump($server_path); $next_server_path = substr($server_path, 0, strrpos($server_path, '/')); var_dump($next_server_path); echo "\n\n"; $server_path = "/test1"; $server_path = str_replace(array('/', '\\'), '/', $server_path); var_dump($server_path); $next_server_path = substr($server_path, 0, strrpos($server_path, '/')); var_dump($next_server_path); echo "\n\n"; $server_path = ""; $server_path = str_replace(array('/', '\\'), '/', $server_path); var_dump($server_path); $next_server_path = substr($server_path, 0, strrpos($server_path, '/')); var_dump($next_server_path);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/F3o4r
function name:  (null)
number of ops:  106
compiled vars:  !0 = $server_path, !1 = $next_server_path
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '%2Ftest1%2Ftest2%2F'
    3     1        INIT_FCALL                                               'rtrim'
          2        SEND_VAR                                                 !0
          3        SEND_VAL                                                 '%2F'
          4        DO_ICALL                                         $3      
          5        ECHO                                                     $3
    4     6        INIT_FCALL                                               'str_replace'
          7        SEND_VAL                                                 <array>
          8        SEND_VAL                                                 '%2F'
          9        SEND_VAR                                                 !0
         10        DO_ICALL                                         $4      
         11        ASSIGN                                                   !0, $4
    5    12        INIT_FCALL                                               'var_dump'
         13        SEND_VAR                                                 !0
         14        DO_ICALL                                                 
    6    15        INIT_FCALL                                               'substr'
         16        SEND_VAR                                                 !0
         17        SEND_VAL                                                 0
         18        INIT_FCALL                                               'strrpos'
         19        SEND_VAR                                                 !0
         20        SEND_VAL                                                 '%2F'
         21        DO_ICALL                                         $7      
         22        SEND_VAR                                                 $7
         23        DO_ICALL                                         $8      
         24        ASSIGN                                                   !1, $8
    7    25        INIT_FCALL                                               'var_dump'
         26        SEND_VAR                                                 !1
         27        DO_ICALL                                                 
    8    28        ECHO                                                     '%0A%0A'
   10    29        ASSIGN                                                   !0, '%2Ftest1%2Ftest2'
   11    30        INIT_FCALL                                               'rtrim'
         31        SEND_VAR                                                 !0
         32        SEND_VAL                                                 '%2F'
         33        DO_ICALL                                         $12     
         34        ECHO                                                     $12
   12    35        INIT_FCALL                                               'str_replace'
         36        SEND_VAL                                                 <array>
         37        SEND_VAL                                                 '%2F'
         38        SEND_VAR                                                 !0
         39        DO_ICALL                                         $13     
         40        ASSIGN                                                   !0, $13
   13    41        INIT_FCALL                                               'var_dump'
         42        SEND_VAR                                                 !0
         43        DO_ICALL                                                 
   14    44        INIT_FCALL                                               'substr'
         45        SEND_VAR                                                 !0
         46        SEND_VAL                                                 0
         47        INIT_FCALL                                               'strrpos'
         48        SEND_VAR                                                 !0
         49        SEND_VAL                                                 '%2F'
         50        DO_ICALL                                         $16     
         51        SEND_VAR                                                 $16
         52        DO_ICALL                                         $17     
         53        ASSIGN                                                   !1, $17
   15    54        INIT_FCALL                                               'var_dump'
         55        SEND_VAR                                                 !1
         56        DO_ICALL                                                 
   16    57        ECHO                                                     '%0A%0A'
   17    58        ASSIGN                                                   !0, '%2Ftest1'
   18    59        INIT_FCALL                                               'str_replace'
         60        SEND_VAL                                                 <array>
         61        SEND_VAL                                                 '%2F'
         62        SEND_VAR                                                 !0
         63        DO_ICALL                                         $21     
         64        ASSIGN                                                   !0, $21
   19    65        INIT_FCALL                                               'var_dump'
         66        SEND_VAR                                                 !0
         67        DO_ICALL                                                 
   20    68        INIT_FCALL                                               'substr'
         69        SEND_VAR                                                 !0
         70        SEND_VAL                                                 0
         71        INIT_FCALL                                               'strrpos'
         72        SEND_VAR                                                 !0
         73        SEND_VAL                                                 '%2F'
         74        DO_ICALL                                         $24     
         75        SEND_VAR                                                 $24
         76        DO_ICALL                                         $25     
         77        ASSIGN                                                   !1, $25
   21    78        INIT_FCALL                                               'var_dump'
         79        SEND_VAR                                                 !1
         80        DO_ICALL                                                 
   22    81        ECHO                                                     '%0A%0A'
   23    82        ASSIGN                                                   !0, ''
   24    83        INIT_FCALL                                               'str_replace'
         84        SEND_VAL                                                 <array>
         85        SEND_VAL                                                 '%2F'
         86        SEND_VAR                                                 !0
         87        DO_ICALL                                         $29     
         88        ASSIGN                                                   !0, $29
   25    89        INIT_FCALL                                               'var_dump'
         90        SEND_VAR                                                 !0
         91        DO_ICALL                                                 
   26    92        INIT_FCALL                                               'substr'
         93        SEND_VAR                                                 !0
         94        SEND_VAL                                                 0
         95        INIT_FCALL                                               'strrpos'
         96        SEND_VAR                                                 !0
         97        SEND_VAL                                                 '%2F'
         98        DO_ICALL                                         $32     
         99        SEND_VAR                                                 $32
        100        DO_ICALL                                         $33     
        101        ASSIGN                                                   !1, $33
   27   102        INIT_FCALL                                               'var_dump'
        103        SEND_VAR                                                 !1
        104        DO_ICALL                                                 
        105      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
201.16 ms | 1408 KiB | 23 Q