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; } } $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 = 37, Position 2 = 105
Branch analysis from position: 37
2 jumps found. (Code = 43) Position 1 = 44, Position 2 = 47
Branch analysis from position: 44
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 47
2 jumps found. (Code = 43) Position 1 = 53, Position 2 = 61
Branch analysis from position: 53
2 jumps found. (Code = 43) Position 1 = 56, Position 2 = 59
Branch analysis from position: 56
1 jumps found. (Code = 42) Position 1 = 60
Branch analysis from position: 60
2 jumps found. (Code = 43) Position 1 = 66, Position 2 = 104
Branch analysis from position: 66
2 jumps found. (Code = 47) Position 1 = 70, Position 2 = 75
Branch analysis from position: 70
2 jumps found. (Code = 43) Position 1 = 76, Position 2 = 77
Branch analysis from position: 76
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 77
2 jumps found. (Code = 43) Position 1 = 85, Position 2 = 88
Branch analysis from position: 85
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 88
2 jumps found. (Code = 77) Position 1 = 92, Position 2 = 102
Branch analysis from position: 92
2 jumps found. (Code = 78) Position 1 = 93, Position 2 = 102
Branch analysis from position: 93
2 jumps found. (Code = 43) Position 1 = 96, Position 2 = 99
Branch analysis from position: 96
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 99
1 jumps found. (Code = 42) Position 1 = 92
Branch analysis from position: 92
Branch analysis from position: 102
1 jumps found. (Code = 42) Position 1 = 106
Branch analysis from position: 106
2 jumps found. (Code = 46) Position 1 = 107, Position 2 = 108
Branch analysis from position: 107
2 jumps found. (Code = 46) Position 1 = 109, Position 2 = 110
Branch analysis from position: 109
2 jumps found. (Code = 43) Position 1 = 111, Position 2 = 112
Branch analysis from position: 111
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 112
Branch analysis from position: 110
Branch analysis from position: 108
Branch analysis from position: 102
Branch analysis from position: 75
Branch analysis from position: 104
Branch analysis from position: 59
2 jumps found. (Code = 43) Position 1 = 66, Position 2 = 104
Branch analysis from position: 66
Branch analysis from position: 104
Branch analysis from position: 61
Branch analysis from position: 105
2 jumps found. (Code = 46) Position 1 = 107, Position 2 = 108
Branch analysis from position: 107
Branch analysis from position: 108
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/BY2B0
function name:  (null)
number of ops:  113
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                                               'json_decode'
         27        BEGIN_SILENCE                                    ~22     
         28        FETCH_R                      global              ~23     '_GET'
         29        FETCH_DIM_R                                      ~24     ~23, 'bbb'
         30        END_SILENCE                                              ~22
         31        SEND_VAL                                                 ~24
         32        DO_ICALL                                         $25     
         33        CAST                                          7  ~26     $25
         34        ASSIGN                                                   !4, ~26
   21    35        TYPE_CHECK                                  128          !4
         36      > JMPZ                                                     ~28, ->105
   22    37    >   INIT_FCALL                                               'is_numeric'
         38        BEGIN_SILENCE                                    ~29     
         39        FETCH_DIM_R                                      ~30     !4, 'ccc'
         40        END_SILENCE                                              ~29
         41        SEND_VAL                                                 ~30
         42        DO_ICALL                                         $31     
         43      > JMPZ                                                     $31, ->47
         44    > > EXIT                                                     '2'
         45*       QM_ASSIGN                                        ~32     <true>
         46*       JMP                                                      ->48
         47    >   QM_ASSIGN                                        ~32     null
         48        FREE                                                     ~32
   23    49        BEGIN_SILENCE                                    ~33     
         50        FETCH_DIM_R                                      ~34     !4, 'ccc'
         51        END_SILENCE                                              ~33
         52      > JMPZ                                                     ~34, ->61
   24    53    >   FETCH_DIM_R                                      ~35     !4, 'ccc'
         54        IS_SMALLER                                               2017, ~35
         55      > JMPZ                                                     ~36, ->59
         56    >   ASSIGN                                           ~37     !1, 1
         57        QM_ASSIGN                                        ~38     ~37
         58      > JMP                                                      ->60
         59    >   QM_ASSIGN                                        ~38     null
         60    >   FREE                                                     ~38
   26    61    >   BEGIN_SILENCE                                    ~39     
         62        FETCH_DIM_R                                      ~40     !4, 'ddd'
         63        END_SILENCE                                              ~39
         64        TYPE_CHECK                                  128          ~40
         65      > JMPZ                                                     ~41, ->104
   27    66    >   FETCH_DIM_R                                      ~42     !4, 'ddd'
         67        COUNT                                            ~43     ~42
         68        IS_NOT_IDENTICAL                                 ~44     ~43, 2
         69      > JMPNZ_EX                                         ~44     ~44, ->75
         70    >   FETCH_DIM_R                                      ~45     !4, 'ddd'
         71        FETCH_DIM_R                                      ~46     ~45, 0
         72        TYPE_CHECK                                  128  ~47     ~46
         73        BOOL_NOT                                         ~48     ~47
         74        BOOL                                             ~44     ~48
         75    > > JMPZ                                                     ~44, ->77
         76    > > EXIT                                                     '3'
   28    77    >   INIT_FCALL                                               'array_search'
         78        SEND_VAL                                                 'XMAN'
         79        FETCH_DIM_R                                      ~49     !4, 'ddd'
         80        SEND_VAL                                                 ~49
         81        DO_ICALL                                         $50     
         82        ASSIGN                                                   !5, $50
   29    83        TYPE_CHECK                                    4          !5
         84      > JMPZ                                                     ~52, ->88
         85    > > EXIT                                                     '4'
         86*       QM_ASSIGN                                        ~53     <true>
         87*       JMP                                                      ->89
         88    >   QM_ASSIGN                                        ~53     null
         89        FREE                                                     ~53
   30    90        FETCH_DIM_R                                      ~54     !4, 'ddd'
         91      > FE_RESET_R                                       $55     ~54, ->102
         92    > > FE_FETCH_R                                       ~56     $55, !6, ->102
         93    >   ASSIGN                                                   !7, ~56
   31    94        IS_IDENTICAL                                             !6, 'XMAN'
         95      > JMPZ                                                     ~58, ->99
         96    > > EXIT                                                     '5'
         97*       QM_ASSIGN                                        ~59     <true>
         98*       JMP                                                      ->100
         99    >   QM_ASSIGN                                        ~59     null
        100        FREE                                                     ~59
   30   101      > JMP                                                      ->92
        102    >   FE_FREE                                                  $55
   33   103        ASSIGN                                                   !2, 1
        104    > > JMP                                                      ->106
   36   105    >   ECHO                                                     'r'
   38   106    > > JMPZ_EX                                          ~61     !0, ->108
        107    >   BOOL                                             ~61     !1
        108    > > JMPZ_EX                                          ~61     ~61, ->110
        109    >   BOOL                                             ~61     !2
        110    > > JMPZ                                                     ~61, ->112
   39   111    >   ECHO                                                     'Yes'
   41   112    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
157.51 ms | 1408 KiB | 19 Q