3v4l.org

run code in 500+ PHP versions simultaneously
<?php $_POST['action'] = 'abc123'; $action = $_POST['action'] ?? 'default'; echo 'Original: ' . $action . PHP_EOL; unset($action); if (isset($_POST['action'])) { $action = 'default'; } else { $action = $_POST['action']; } echo 'Incorrect: ' . $action . PHP_EOL; unset($action); if (isset($_POST['action'])) { $action = $_POST['action']; } else { $action = 'default'; } echo 'Correct: ' . $action;
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 15, Position 2 = 17
Branch analysis from position: 15
1 jumps found. (Code = 42) Position 1 = 20
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 27, Position 2 = 31
Branch analysis from position: 27
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 31
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 27, Position 2 = 31
Branch analysis from position: 27
Branch analysis from position: 31
filename:       /in/H3V7m
function name:  (null)
number of ops:  35
compiled vars:  !0 = $action
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   FETCH_W                          global              $1      '_POST'
          1        ASSIGN_DIM                                                   $1, 'action'
          2        OP_DATA                                                      'abc123'
    5     3        FETCH_IS                                             ~3      '_POST'
          4        FETCH_DIM_IS                                         ~4      ~3, 'action'
          5        COALESCE                                             ~5      ~4
          6        QM_ASSIGN                                            ~5      'default'
          7        ASSIGN                                                       !0, ~5
    6     8        CONCAT                                               ~7      'Original%3A+', !0
          9        CONCAT                                               ~8      ~7, '%0A'
         10        ECHO                                                         ~8
    7    11        UNSET_CV                                                     !0
    9    12        FETCH_IS                                             ~9      '_POST'
         13        ISSET_ISEMPTY_DIM_OBJ                             0          ~9, 'action'
         14      > JMPZ                                                         ~10, ->17
   10    15    >   ASSIGN                                                       !0, 'default'
    9    16      > JMP                                                          ->20
   12    17    >   FETCH_R                          global              ~12     '_POST'
         18        FETCH_DIM_R                                          ~13     ~12, 'action'
         19        ASSIGN                                                       !0, ~13
   14    20    >   CONCAT                                               ~15     'Incorrect%3A+', !0
         21        CONCAT                                               ~16     ~15, '%0A'
         22        ECHO                                                         ~16
   15    23        UNSET_CV                                                     !0
   17    24        FETCH_IS                                             ~17     '_POST'
         25        ISSET_ISEMPTY_DIM_OBJ                             0          ~17, 'action'
         26      > JMPZ                                                         ~18, ->31
   18    27    >   FETCH_R                          global              ~19     '_POST'
         28        FETCH_DIM_R                                          ~20     ~19, 'action'
         29        ASSIGN                                                       !0, ~20
   17    30      > JMP                                                          ->32
   20    31    >   ASSIGN                                                       !0, 'default'
   22    32    >   CONCAT                                               ~23     'Correct%3A+', !0
         33        ECHO                                                         ~23
         34      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
124.48 ms | 480 KiB | 7 Q