3v4l.org

run code in 300+ PHP versions simultaneously
<?php $_GET['aaa'] = "0.9999999999999999"; $a=0; $b=0; $c=0; if (isset($_GET['aaa'])) { $aaa = $_GET['aaa']; $aaa=="1"?die("1"):NULL; switch ($aaa) { case 0: case 1: $a=1; break; } } var_dump($a); $bbb=(array)json_decode(@$_GET['bbb']); if(is_array($bbb)){ is_numeric(@$bbb["ccc"])?die("2"):NULL; if(@$bbb["ccc"]){ ($bbb["ccc"]>2017)?$b=1:NULL; } if(is_array(@$bbb["ddd"])){ if(count($bbb["ddd"])!==2 OR !is_array($bbb["ddd"][0])) die("3"); $eee = array_search("XMAN", $bbb["ddd"]); $eee===false?die("4"):NULL; foreach($bbb["ddd"] as $key=>$val){ $val==="XMAN"?die("5"):NULL; } $c=1; } } else { echo 'r'; } if($a && $b && $c){ echo 'Yes'; } ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 26
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 17
Branch analysis from position: 14
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 17
2 jumps found. (Code = 44) Position 1 = 21, Position 2 = 24
Branch analysis from position: 21
2 jumps found. (Code = 44) Position 1 = 23, Position 2 = 24
Branch analysis from position: 23
1 jumps found. (Code = 42) Position 1 = 26
Branch analysis from position: 26
2 jumps found. (Code = 43) Position 1 = 40, Position 2 = 108
Branch analysis from position: 40
2 jumps found. (Code = 43) Position 1 = 47, Position 2 = 50
Branch analysis from position: 47
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 50
2 jumps found. (Code = 43) Position 1 = 56, Position 2 = 64
Branch analysis from position: 56
2 jumps found. (Code = 43) Position 1 = 59, Position 2 = 62
Branch analysis from position: 59
1 jumps found. (Code = 42) Position 1 = 63
Branch analysis from position: 63
2 jumps found. (Code = 43) Position 1 = 69, Position 2 = 107
Branch analysis from position: 69
2 jumps found. (Code = 47) Position 1 = 73, Position 2 = 78
Branch analysis from position: 73
2 jumps found. (Code = 43) Position 1 = 79, Position 2 = 80
Branch analysis from position: 79
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 80
2 jumps found. (Code = 43) Position 1 = 88, Position 2 = 91
Branch analysis from position: 88
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 91
2 jumps found. (Code = 77) Position 1 = 95, Position 2 = 105
Branch analysis from position: 95
2 jumps found. (Code = 78) Position 1 = 96, Position 2 = 105
Branch analysis from position: 96
2 jumps found. (Code = 43) Position 1 = 99, Position 2 = 102
Branch analysis from position: 99
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 102
1 jumps found. (Code = 42) Position 1 = 95
Branch analysis from position: 95
Branch analysis from position: 105
1 jumps found. (Code = 42) Position 1 = 109
Branch analysis from position: 109
2 jumps found. (Code = 46) Position 1 = 110, Position 2 = 111
Branch analysis from position: 110
2 jumps found. (Code = 46) Position 1 = 112, Position 2 = 113
Branch analysis from position: 112
2 jumps found. (Code = 43) Position 1 = 114, Position 2 = 115
Branch analysis from position: 114
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 115
Branch analysis from position: 113
Branch analysis from position: 111
Branch analysis from position: 105
Branch analysis from position: 78
Branch analysis from position: 107
Branch analysis from position: 62
2 jumps found. (Code = 43) Position 1 = 69, Position 2 = 107
Branch analysis from position: 69
Branch analysis from position: 107
Branch analysis from position: 64
Branch analysis from position: 108
2 jumps found. (Code = 46) Position 1 = 110, Position 2 = 111
Branch analysis from position: 110
Branch analysis from position: 111
Branch analysis from position: 24
1 jumps found. (Code = 42) Position 1 = 26
Branch analysis from position: 26
Branch analysis from position: 24
Branch analysis from position: 26
filename:       /in/9X1RO
function name:  (null)
number of ops:  116
compiled vars:  !0 = $a, !1 = $b, !2 = $c, !3 = $aaa, !4 = $bbb, !5 = $eee, !6 = $val, !7 = $key
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   FETCH_W                      global              $8      '_GET'
          1        ASSIGN_DIM                                               $8, 'aaa'
          2        OP_DATA                                                  '0.9999999999999999'
    5     3        ASSIGN                                                   !0, 0
    6     4        ASSIGN                                                   !1, 0
    7     5        ASSIGN                                                   !2, 0
    8     6        FETCH_IS                                         ~13     '_GET'
          7        ISSET_ISEMPTY_DIM_OBJ                         0          ~13, 'aaa'
          8      > JMPZ                                                     ~14, ->26
   10     9    >   FETCH_R                      global              ~15     '_GET'
         10        FETCH_DIM_R                                      ~16     ~15, 'aaa'
         11        ASSIGN                                                   !3, ~16
   11    12        IS_EQUAL                                                 !3, '1'
         13      > JMPZ                                                     ~18, ->17
         14    > > EXIT                                                     '1'
         15*       QM_ASSIGN                                        ~19     <true>
         16*       JMP                                                      ->18
         17    >   QM_ASSIGN                                        ~19     null
         18        FREE                                                     ~19
   14    19        IS_EQUAL                                                 !3, 0
         20      > JMPNZ                                                    ~20, ->24
   15    21    >   IS_EQUAL                                                 !3, 1
         22      > JMPNZ                                                    ~20, ->24
         23    > > JMP                                                      ->26
   16    24    >   ASSIGN                                                   !0, 1
   17    25      > JMP                                                      ->26
   20    26    >   INIT_FCALL                                               'var_dump'
         27        SEND_VAR                                                 !0
         28        DO_ICALL                                                 
   21    29        INIT_FCALL                                               'json_decode'
         30        BEGIN_SILENCE                                    ~23     
         31        FETCH_R                      global              ~24     '_GET'
         32        FETCH_DIM_R                                      ~25     ~24, 'bbb'
         33        END_SILENCE                                              ~23
         34        SEND_VAL                                                 ~25
         35        DO_ICALL                                         $26     
         36        CAST                                          7  ~27     $26
         37        ASSIGN                                                   !4, ~27
   22    38        TYPE_CHECK                                  128          !4
         39      > JMPZ                                                     ~29, ->108
   23    40    >   INIT_FCALL                                               'is_numeric'
         41        BEGIN_SILENCE                                    ~30     
         42        FETCH_DIM_R                                      ~31     !4, 'ccc'
         43        END_SILENCE                                              ~30
         44        SEND_VAL                                                 ~31
         45        DO_ICALL                                         $32     
         46      > JMPZ                                                     $32, ->50
         47    > > EXIT                                                     '2'
         48*       QM_ASSIGN                                        ~33     <true>
         49*       JMP                                                      ->51
         50    >   QM_ASSIGN                                        ~33     null
         51        FREE                                                     ~33
   24    52        BEGIN_SILENCE                                    ~34     
         53        FETCH_DIM_R                                      ~35     !4, 'ccc'
         54        END_SILENCE                                              ~34
         55      > JMPZ                                                     ~35, ->64
   25    56    >   FETCH_DIM_R                                      ~36     !4, 'ccc'
         57        IS_SMALLER                                               2017, ~36
         58      > JMPZ                                                     ~37, ->62
         59    >   ASSIGN                                           ~38     !1, 1
         60        QM_ASSIGN                                        ~39     ~38
         61      > JMP                                                      ->63
         62    >   QM_ASSIGN                                        ~39     null
         63    >   FREE                                                     ~39
   27    64    >   BEGIN_SILENCE                                    ~40     
         65        FETCH_DIM_R                                      ~41     !4, 'ddd'
         66        END_SILENCE                                              ~40
         67        TYPE_CHECK                                  128          ~41
         68      > JMPZ                                                     ~42, ->107
   28    69    >   FETCH_DIM_R                                      ~43     !4, 'ddd'
         70        COUNT                                            ~44     ~43
         71        IS_NOT_IDENTICAL                                 ~45     ~44, 2
         72      > JMPNZ_EX                                         ~45     ~45, ->78
         73    >   FETCH_DIM_R                                      ~46     !4, 'ddd'
         74        FETCH_DIM_R                                      ~47     ~46, 0
         75        TYPE_CHECK                                  128  ~48     ~47
         76        BOOL_NOT                                         ~49     ~48
         77        BOOL                                             ~45     ~49
         78    > > JMPZ                                                     ~45, ->80
         79    > > EXIT                                                     '3'
   29    80    >   INIT_FCALL                                               'array_search'
         81        SEND_VAL                                                 'XMAN'
         82        FETCH_DIM_R                                      ~50     !4, 'ddd'
         83        SEND_VAL                                                 ~50
         84        DO_ICALL                                         $51     
         85        ASSIGN                                                   !5, $51
   30    86        TYPE_CHECK                                    4          !5
         87      > JMPZ                                                     ~53, ->91
         88    > > EXIT                                                     '4'
         89*       QM_ASSIGN                                        ~54     <true>
         90*       JMP                                                      ->92
         91    >   QM_ASSIGN                                        ~54     null
         92        FREE                                                     ~54
   31    93        FETCH_DIM_R                                      ~55     !4, 'ddd'
         94      > FE_RESET_R                                       $56     ~55, ->105
         95    > > FE_FETCH_R                                       ~57     $56, !6, ->105
         96    >   ASSIGN                                                   !7, ~57
   32    97        IS_IDENTICAL                                             !6, 'XMAN'
         98      > JMPZ                                                     ~59, ->102
         99    > > EXIT                                                     '5'
        100*       QM_ASSIGN                                        ~60     <true>
        101*       JMP                                                      ->103
        102    >   QM_ASSIGN                                        ~60     null
        103        FREE                                                     ~60
   31   104      > JMP                                                      ->95
        105    >   FE_FREE                                                  $56
   34   106        ASSIGN                                                   !2, 1
        107    > > JMP                                                      ->109
   37   108    >   ECHO                                                     'r'
   39   109    > > JMPZ_EX                                          ~62     !0, ->111
        110    >   BOOL                                             ~62     !1
        111    > > JMPZ_EX                                          ~62     ~62, ->113
        112    >   BOOL                                             ~62     !2
        113    > > JMPZ                                                     ~62, ->115
   40   114    >   ECHO                                                     'Yes'
   42   115    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
164.29 ms | 1400 KiB | 21 Q