3v4l.org

run code in 300+ PHP versions simultaneously
<?php $_SESSION = array(); $_GET = array("token" => "Y", "uid"=> "4", "key"=>"md5"); $_SERVER["REQUEST_URI"] = "/register/Y/4/md5"; $Request = array(); $Request["URI"] = $_SERVER["REQUEST_URI"][0] == "/" ? substr($_SERVER["REQUEST_URI"], 1) : $_SERVER["REQUEST_URI"]; $Request["URI"] = substr($Request["URI"], 0, strlen($Request["URI"]) - strlen("/".$_GET["token"]."/".$_GET["uid"]."/".$_GET["key"])); if($_SESSION["TeachMe-Server"]["loggedin"] !== true && !(substr($RequestURI, 0, strpos("/", $Request["URI"])) == "register" || substr($Results, 0, strpos("/", $Request["URI"])) == "login")) { header("X-API-Status: 40201 Login Required"); die("<pre>".print_r($Request, true)."</pre>"); }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 21
Branch analysis from position: 13
1 jumps found. (Code = 42) Position 1 = 24
Branch analysis from position: 24
2 jumps found. (Code = 46) Position 1 = 54, Position 2 = 80
Branch analysis from position: 54
2 jumps found. (Code = 47) Position 1 = 66, Position 2 = 78
Branch analysis from position: 66
2 jumps found. (Code = 43) Position 1 = 81, Position 2 = 91
Branch analysis from position: 81
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 91
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 78
Branch analysis from position: 80
Branch analysis from position: 21
2 jumps found. (Code = 46) Position 1 = 54, Position 2 = 80
Branch analysis from position: 54
Branch analysis from position: 80
filename:       /in/BmaDT
function name:  (null)
number of ops:  92
compiled vars:  !0 = $Request, !1 = $RequestURI, !2 = $Results
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   FETCH_W                      global              $3      '_SESSION'
          1        ASSIGN                                                   $3, <array>
    3     2        FETCH_W                      global              $5      '_GET'
          3        ASSIGN                                                   $5, <array>
    4     4        FETCH_W                      global              $7      '_SERVER'
          5        ASSIGN_DIM                                               $7, 'REQUEST_URI'
          6        OP_DATA                                                  '%2Fregister%2FY%2F4%2Fmd5'
    5     7        ASSIGN                                                   !0, <array>
    6     8        FETCH_R                      global              ~11     '_SERVER'
          9        FETCH_DIM_R                                      ~12     ~11, 'REQUEST_URI'
         10        FETCH_DIM_R                                      ~13     ~12, 0
         11        IS_EQUAL                                                 ~13, '%2F'
         12      > JMPZ                                                     ~14, ->21
         13    >   INIT_FCALL                                               'substr'
         14        FETCH_R                      global              ~15     '_SERVER'
         15        FETCH_DIM_R                                      ~16     ~15, 'REQUEST_URI'
         16        SEND_VAL                                                 ~16
         17        SEND_VAL                                                 1
         18        DO_ICALL                                         $17     
         19        QM_ASSIGN                                        ~18     $17
         20      > JMP                                                      ->24
         21    >   FETCH_R                      global              ~19     '_SERVER'
         22        FETCH_DIM_R                                      ~20     ~19, 'REQUEST_URI'
         23        QM_ASSIGN                                        ~18     ~20
         24    >   ASSIGN_DIM                                               !0, 'URI'
         25        OP_DATA                                                  ~18
    7    26        INIT_FCALL                                               'substr'
         27        FETCH_DIM_R                                      ~22     !0, 'URI'
         28        SEND_VAL                                                 ~22
         29        SEND_VAL                                                 0
         30        FETCH_DIM_R                                      ~23     !0, 'URI'
         31        STRLEN                                           ~24     ~23
         32        FETCH_R                      global              ~25     '_GET'
         33        FETCH_DIM_R                                      ~26     ~25, 'token'
         34        CONCAT                                           ~27     '%2F', ~26
         35        CONCAT                                           ~28     ~27, '%2F'
         36        FETCH_R                      global              ~29     '_GET'
         37        FETCH_DIM_R                                      ~30     ~29, 'uid'
         38        CONCAT                                           ~31     ~28, ~30
         39        CONCAT                                           ~32     ~31, '%2F'
         40        FETCH_R                      global              ~33     '_GET'
         41        FETCH_DIM_R                                      ~34     ~33, 'key'
         42        CONCAT                                           ~35     ~32, ~34
         43        STRLEN                                           ~36     ~35
         44        SUB                                              ~37     ~24, ~36
         45        SEND_VAL                                                 ~37
         46        DO_ICALL                                         $38     
         47        ASSIGN_DIM                                               !0, 'URI'
         48        OP_DATA                                                  $38
    9    49        FETCH_R                      global              ~39     '_SESSION'
         50        FETCH_DIM_R                                      ~40     ~39, 'TeachMe-Server'
         51        FETCH_DIM_R                                      ~41     ~40, 'loggedin'
         52        TYPE_CHECK                                  1014  ~42     ~41
         53      > JMPZ_EX                                          ~42     ~42, ->80
   10    54    >   INIT_FCALL                                               'substr'
         55        SEND_VAR                                                 !1
         56        SEND_VAL                                                 0
         57        INIT_FCALL                                               'strpos'
         58        SEND_VAL                                                 '%2F'
         59        FETCH_DIM_R                                      ~43     !0, 'URI'
         60        SEND_VAL                                                 ~43
         61        DO_ICALL                                         $44     
         62        SEND_VAR                                                 $44
         63        DO_ICALL                                         $45     
         64        IS_EQUAL                                         ~46     $45, 'register'
         65      > JMPNZ_EX                                         ~46     ~46, ->78
   11    66    >   INIT_FCALL                                               'substr'
         67        SEND_VAR                                                 !2
         68        SEND_VAL                                                 0
         69        INIT_FCALL                                               'strpos'
         70        SEND_VAL                                                 '%2F'
         71        FETCH_DIM_R                                      ~47     !0, 'URI'
         72        SEND_VAL                                                 ~47
         73        DO_ICALL                                         $48     
         74        SEND_VAR                                                 $48
         75        DO_ICALL                                         $49     
         76        IS_EQUAL                                         ~50     $49, 'login'
         77        BOOL                                             ~46     ~50
         78    >   BOOL_NOT                                         ~51     ~46
         79        BOOL                                             ~42     ~51
         80    > > JMPZ                                                     ~42, ->91
   13    81    >   INIT_FCALL                                               'header'
         82        SEND_VAL                                                 'X-API-Status%3A+40201+Login+Required'
         83        DO_ICALL                                                 
   14    84        INIT_FCALL                                               'print_r'
         85        SEND_VAR                                                 !0
         86        SEND_VAL                                                 <true>
         87        DO_ICALL                                         $53     
         88        CONCAT                                           ~54     '%3Cpre%3E', $53
         89        CONCAT                                           ~55     ~54, '%3C%2Fpre%3E'
         90      > EXIT                                                     ~55
   15    91    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
158.09 ms | 1404 KiB | 21 Q