3v4l.org

run code in 300+ PHP versions simultaneously
<?php $_SERVER["HTTP_USER_AGENT"] = "TeachMe-App v000003 Android 4.4.2 on generic"; $MinVersion["TeachMe-App"] = 000004; if(strpos($_SERVER["HTTP_USER_AGENT"], "v") > 0) { //6-Stellige Versionsnummer hinter dem v auslesen $Client["Version"] = substr($_SERVER["HTTP_USER_AGENT"], strpos($_SERVER["HTTP_USER_AGENT"], "v") + 1, 6); $Client["Version"] = is_int($Client["Version"]) ? intval($Client["Version"]) : -1; } if($Client["Version"] < $MinVersion[$Client["Client"]]) { header("X-API-Status: 40004 Client-Version Too Old"); die("40004"); } print_r($Client); die("40000");
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 39
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 32, Position 2 = 36
Branch analysis from position: 32
1 jumps found. (Code = 42) Position 1 = 37
Branch analysis from position: 37
2 jumps found. (Code = 43) Position 1 = 44, Position 2 = 48
Branch analysis from position: 44
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 48
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 36
2 jumps found. (Code = 43) Position 1 = 44, Position 2 = 48
Branch analysis from position: 44
Branch analysis from position: 48
Branch analysis from position: 39
filename:       /in/UNo6i
function name:  (null)
number of ops:  53
compiled vars:  !0 = $MinVersion, !1 = $Client
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   FETCH_W                      global              $2      '_SERVER'
          1        ASSIGN_DIM                                               $2, 'HTTP_USER_AGENT'
          2        OP_DATA                                                  'TeachMe-App+v000003+Android+4.4.2+on+generic'
    3     3        ASSIGN_DIM                                               !0, 'TeachMe-App'
          4        OP_DATA                                                  4
    4     5        INIT_FCALL                                               'strpos'
          6        FETCH_R                      global              ~5      '_SERVER'
          7        FETCH_DIM_R                                      ~6      ~5, 'HTTP_USER_AGENT'
          8        SEND_VAL                                                 ~6
          9        SEND_VAL                                                 'v'
         10        DO_ICALL                                         $7      
         11        IS_SMALLER                                               0, $7
         12      > JMPZ                                                     ~8, ->39
    7    13    >   INIT_FCALL                                               'substr'
         14        FETCH_R                      global              ~10     '_SERVER'
         15        FETCH_DIM_R                                      ~11     ~10, 'HTTP_USER_AGENT'
         16        SEND_VAL                                                 ~11
         17        INIT_FCALL                                               'strpos'
         18        FETCH_R                      global              ~12     '_SERVER'
         19        FETCH_DIM_R                                      ~13     ~12, 'HTTP_USER_AGENT'
         20        SEND_VAL                                                 ~13
         21        SEND_VAL                                                 'v'
         22        DO_ICALL                                         $14     
         23        ADD                                              ~15     $14, 1
         24        SEND_VAL                                                 ~15
         25        SEND_VAL                                                 6
         26        DO_ICALL                                         $16     
         27        ASSIGN_DIM                                               !1, 'Version'
         28        OP_DATA                                                  $16
    8    29        FETCH_DIM_R                                      ~18     !1, 'Version'
         30        TYPE_CHECK                                   16          ~18
         31      > JMPZ                                                     ~19, ->36
         32    >   FETCH_DIM_R                                      ~20     !1, 'Version'
         33        CAST                                          4  ~21     ~20
         34        QM_ASSIGN                                        ~22     ~21
         35      > JMP                                                      ->37
         36    >   QM_ASSIGN                                        ~22     -1
         37    >   ASSIGN_DIM                                               !1, 'Version'
         38        OP_DATA                                                  ~22
   11    39    >   FETCH_DIM_R                                      ~23     !1, 'Version'
         40        FETCH_DIM_R                                      ~24     !1, 'Client'
         41        FETCH_DIM_R                                      ~25     !0, ~24
         42        IS_SMALLER                                               ~23, ~25
         43      > JMPZ                                                     ~26, ->48
   13    44    >   INIT_FCALL                                               'header'
         45        SEND_VAL                                                 'X-API-Status%3A+40004+Client-Version+Too+Old'
         46        DO_ICALL                                                 
         47      > EXIT                                                     '40004'
   15    48    >   INIT_FCALL                                               'print_r'
         49        SEND_VAR                                                 !1
         50        DO_ICALL                                                 
   16    51      > EXIT                                                     '40000'
         52*     > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
162.73 ms | 1400 KiB | 21 Q