3v4l.org

run code in 300+ PHP versions simultaneously
<?php $testvectors = [ 'null' => null, 'empty string' => '', /* 'one space' => ' ', 'four spaces' => ' ', 'one tab' => "\t", 'four tabs' => "\t\t\t\t", 'one newline' => "\n", 'four newlines' => "\n\n\n\n", 'one carriage return' => "\r", 'four carriage returns' => "\r\r\r\r", 'one colon' => ':', 'four colons' => '::::', 'one @ sign' => '@', 'four @ signs' => '@@@@', 'one slash' => '/', 'four slashes' => '////', 'one backslash' => '\\', 'four backslashes' => '\\\\\\\\', 'one percent' => '%', 'four percents' => '%%%%', 'one plus' => '+', 'four plusses' => '++++', 'one question mark' => '?', 'four question marks' => '????', 'one # sign' => '#', 'four # signs' => '####', */ ]; foreach($testvectors as $name => $value) { echo '--- Testvector '.$name.' ---'.PHP_EOL; $result = parse_url($value); if ($result === false) { echo 'FALSE'.PHP_EOL; } else { echo 'NOT FALSE'.PHP_EOL; var_dump($result); } echo PHP_EOL; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 2, Position 2 = 22
Branch analysis from position: 2
2 jumps found. (Code = 78) Position 1 = 3, Position 2 = 22
Branch analysis from position: 3
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 16
Branch analysis from position: 14
1 jumps found. (Code = 42) Position 1 = 20
Branch analysis from position: 20
1 jumps found. (Code = 42) Position 1 = 2
Branch analysis from position: 2
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 2
Branch analysis from position: 2
Branch analysis from position: 22
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 22
filename:       /in/QIUQr
function name:  (null)
number of ops:  24
compiled vars:  !0 = $testvectors, !1 = $value, !2 = $name, !3 = $result
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, <array>
   36     1      > FE_RESET_R                                       $5      !0, ->22
          2    > > FE_FETCH_R                                       ~6      $5, !1, ->22
          3    >   ASSIGN                                                   !2, ~6
   37     4        CONCAT                                           ~8      '---+Testvector+', !2
          5        CONCAT                                           ~9      ~8, '+---'
          6        CONCAT                                           ~10     ~9, '%0A'
          7        ECHO                                                     ~10
   39     8        INIT_FCALL                                               'parse_url'
          9        SEND_VAR                                                 !1
         10        DO_ICALL                                         $11     
         11        ASSIGN                                                   !3, $11
   40    12        TYPE_CHECK                                    4          !3
         13      > JMPZ                                                     ~13, ->16
   41    14    >   ECHO                                                     'FALSE%0A'
   40    15      > JMP                                                      ->20
   43    16    >   ECHO                                                     'NOT+FALSE%0A'
   44    17        INIT_FCALL                                               'var_dump'
         18        SEND_VAR                                                 !3
         19        DO_ICALL                                                 
   47    20    >   ECHO                                                     '%0A'
   36    21      > JMP                                                      ->2
         22    >   FE_FREE                                                  $5
   48    23      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
162.18 ms | 1003 KiB | 15 Q