3v4l.org

run code in 300+ PHP versions simultaneously
<?php unset($_GET["action"]); echo "value: "; var_dump($_GET["action"] ?? NULL); echo "test: "; var_dump(($_GET["action"] ?? NULL) === "submit"); echo "branch: "; if (($_GET["action"] ?? NULL) === "submit") { echo "submit"; } else { echo "not submit"; } echo PHP_EOL; echo PHP_EOL; $_GET["action"] = "submit"; echo "value: "; var_dump($_GET["action"] ?? NULL); echo "test: "; var_dump(($_GET["action"] ?? NULL) === "submit"); echo "branch: "; if (($_GET["action"] ?? NULL) === "submit") { echo "submit"; } else { echo "not submit"; } echo PHP_EOL; echo PHP_EOL; $_GET["action"] = "preview"; echo "value: "; var_dump($_GET["action"] ?? NULL); echo "test: "; var_dump(($_GET["action"] ?? NULL) === "submit"); echo "branch: "; if (($_GET["action"] ?? NULL) === "submit") { echo "submit"; } else { echo "not submit"; } echo PHP_EOL;
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 26, Position 2 = 28
Branch analysis from position: 26
1 jumps found. (Code = 42) Position 1 = 29
Branch analysis from position: 29
2 jumps found. (Code = 43) Position 1 = 58, Position 2 = 60
Branch analysis from position: 58
1 jumps found. (Code = 42) Position 1 = 61
Branch analysis from position: 61
2 jumps found. (Code = 43) Position 1 = 90, Position 2 = 92
Branch analysis from position: 90
1 jumps found. (Code = 42) Position 1 = 93
Branch analysis from position: 93
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 92
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 60
2 jumps found. (Code = 43) Position 1 = 90, Position 2 = 92
Branch analysis from position: 90
Branch analysis from position: 92
Branch analysis from position: 28
2 jumps found. (Code = 43) Position 1 = 58, Position 2 = 60
Branch analysis from position: 58
Branch analysis from position: 60
filename:       /in/fenL6
function name:  (null)
number of ops:  95
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   FETCH_UNSET                                      $0      '_GET'
          1        UNSET_DIM                                                $0, 'action'
    5     2        ECHO                                                     'value%3A+++'
          3        INIT_FCALL                                               'var_dump'
          4        FETCH_IS                                         ~1      '_GET'
          5        FETCH_DIM_IS                                     ~2      ~1, 'action'
          6        COALESCE                                         ~3      ~2
          7        QM_ASSIGN                                        ~3      null
          8        SEND_VAL                                                 ~3
          9        DO_ICALL                                                 
    6    10        ECHO                                                     'test%3A++++'
         11        INIT_FCALL                                               'var_dump'
         12        FETCH_IS                                         ~5      '_GET'
         13        FETCH_DIM_IS                                     ~6      ~5, 'action'
         14        COALESCE                                         ~7      ~6
         15        QM_ASSIGN                                        ~7      null
         16        IS_IDENTICAL                                     ~8      ~7, 'submit'
         17        SEND_VAL                                                 ~8
         18        DO_ICALL                                                 
    7    19        ECHO                                                     'branch%3A++'
    8    20        FETCH_IS                                         ~10     '_GET'
         21        FETCH_DIM_IS                                     ~11     ~10, 'action'
         22        COALESCE                                         ~12     ~11
         23        QM_ASSIGN                                        ~12     null
         24        IS_IDENTICAL                                             ~12, 'submit'
         25      > JMPZ                                                     ~13, ->28
    9    26    >   ECHO                                                     'submit'
    8    27      > JMP                                                      ->29
   11    28    >   ECHO                                                     'not+submit'
   13    29    >   ECHO                                                     '%0A'
   15    30        ECHO                                                     '%0A'
   17    31        FETCH_W                      global              $14     '_GET'
         32        ASSIGN_DIM                                               $14, 'action'
         33        OP_DATA                                                  'submit'
   19    34        ECHO                                                     'value%3A+++'
         35        INIT_FCALL                                               'var_dump'
         36        FETCH_IS                                         ~16     '_GET'
         37        FETCH_DIM_IS                                     ~17     ~16, 'action'
         38        COALESCE                                         ~18     ~17
         39        QM_ASSIGN                                        ~18     null
         40        SEND_VAL                                                 ~18
         41        DO_ICALL                                                 
   20    42        ECHO                                                     'test%3A++++'
         43        INIT_FCALL                                               'var_dump'
         44        FETCH_IS                                         ~20     '_GET'
         45        FETCH_DIM_IS                                     ~21     ~20, 'action'
         46        COALESCE                                         ~22     ~21
         47        QM_ASSIGN                                        ~22     null
         48        IS_IDENTICAL                                     ~23     ~22, 'submit'
         49        SEND_VAL                                                 ~23
         50        DO_ICALL                                                 
   21    51        ECHO                                                     'branch%3A++'
   22    52        FETCH_IS                                         ~25     '_GET'
         53        FETCH_DIM_IS                                     ~26     ~25, 'action'
         54        COALESCE                                         ~27     ~26
         55        QM_ASSIGN                                        ~27     null
         56        IS_IDENTICAL                                             ~27, 'submit'
         57      > JMPZ                                                     ~28, ->60
   23    58    >   ECHO                                                     'submit'
   22    59      > JMP                                                      ->61
   25    60    >   ECHO                                                     'not+submit'
   27    61    >   ECHO                                                     '%0A'
   29    62        ECHO                                                     '%0A'
   31    63        FETCH_W                      global              $29     '_GET'
         64        ASSIGN_DIM                                               $29, 'action'
         65        OP_DATA                                                  'preview'
   33    66        ECHO                                                     'value%3A+++'
         67        INIT_FCALL                                               'var_dump'
         68        FETCH_IS                                         ~31     '_GET'
         69        FETCH_DIM_IS                                     ~32     ~31, 'action'
         70        COALESCE                                         ~33     ~32
         71        QM_ASSIGN                                        ~33     null
         72        SEND_VAL                                                 ~33
         73        DO_ICALL                                                 
   34    74        ECHO                                                     'test%3A++++'
         75        INIT_FCALL                                               'var_dump'
         76        FETCH_IS                                         ~35     '_GET'
         77        FETCH_DIM_IS                                     ~36     ~35, 'action'
         78        COALESCE                                         ~37     ~36
         79        QM_ASSIGN                                        ~37     null
         80        IS_IDENTICAL                                     ~38     ~37, 'submit'
         81        SEND_VAL                                                 ~38
         82        DO_ICALL                                                 
   35    83        ECHO                                                     'branch%3A++'
   36    84        FETCH_IS                                         ~40     '_GET'
         85        FETCH_DIM_IS                                     ~41     ~40, 'action'
         86        COALESCE                                         ~42     ~41
         87        QM_ASSIGN                                        ~42     null
         88        IS_IDENTICAL                                             ~42, 'submit'
         89      > JMPZ                                                     ~43, ->92
   37    90    >   ECHO                                                     'submit'
   36    91      > JMP                                                      ->93
   39    92    >   ECHO                                                     'not+submit'
   41    93    >   ECHO                                                     '%0A'
         94      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
137 ms | 1007 KiB | 14 Q