3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(0); echo 'null == false? ', (null == false) ? 'yes' : 'no', "\n"; echo 'null == 0 ? ', (null == 0) ? 'yes' : 'no', "\n"; echo 'null == "0" ? ', (null == "0") ? 'yes' : 'no', "\n"; echo 'null == $foo ? ', (null == $foo) ? 'yes' : 'no', "\n"; echo 'null == "" ? ', (null == "") ? 'yes' : 'no', "\n"; echo 'false == 0 ? ', (false == 0) ? 'yes' : 'no', "\n"; echo 'false == "0" ?', (false == "0") ? 'yes' : 'no', "\n"; echo 'false == $foo ? ', (false == $undefined) ? 'yes' : 'no', "\n"; echo 'false == "" ? ', (false == "") ? 'yes' : 'no', "\n"; echo '0 == "0" ? ', (0 == "0") ? 'yes' : 'no', "\n"; echo '0 == $foo ? ', (0 == $undefined) ? 'yes' : 'no', "\n"; echo '0 == "" ? ', (0 == "") ? 'yes' : 'no', "\n"; echo '"0" == $foo ? ', ("0" == $undefined) ? 'yes' : 'no', "\n"; echo '"0" == "" ? ', ("0" == "") ? 'yes' : 'no', "\n"; echo '$foo == "" ? ', ($undefined == "") ? 'yes' : 'no', "\n";
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 7
Branch analysis from position: 5
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 12, Position 2 = 14
Branch analysis from position: 12
1 jumps found. (Code = 42) Position 1 = 15
Branch analysis from position: 15
2 jumps found. (Code = 43) Position 1 = 19, Position 2 = 21
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 22
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 27, Position 2 = 29
Branch analysis from position: 27
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
2 jumps found. (Code = 43) Position 1 = 34, Position 2 = 36
Branch analysis from position: 34
1 jumps found. (Code = 42) Position 1 = 37
Branch analysis from position: 37
2 jumps found. (Code = 43) Position 1 = 41, Position 2 = 43
Branch analysis from position: 41
1 jumps found. (Code = 42) Position 1 = 44
Branch analysis from position: 44
2 jumps found. (Code = 43) Position 1 = 48, Position 2 = 50
Branch analysis from position: 48
1 jumps found. (Code = 42) Position 1 = 51
Branch analysis from position: 51
2 jumps found. (Code = 43) Position 1 = 56, Position 2 = 58
Branch analysis from position: 56
1 jumps found. (Code = 42) Position 1 = 59
Branch analysis from position: 59
2 jumps found. (Code = 43) Position 1 = 63, Position 2 = 65
Branch analysis from position: 63
1 jumps found. (Code = 42) Position 1 = 66
Branch analysis from position: 66
2 jumps found. (Code = 43) Position 1 = 70, Position 2 = 72
Branch analysis from position: 70
1 jumps found. (Code = 42) Position 1 = 73
Branch analysis from position: 73
2 jumps found. (Code = 43) Position 1 = 78, Position 2 = 80
Branch analysis from position: 78
1 jumps found. (Code = 42) Position 1 = 81
Branch analysis from position: 81
2 jumps found. (Code = 43) Position 1 = 85, Position 2 = 87
Branch analysis from position: 85
1 jumps found. (Code = 42) Position 1 = 88
Branch analysis from position: 88
2 jumps found. (Code = 43) Position 1 = 93, Position 2 = 95
Branch analysis from position: 93
1 jumps found. (Code = 42) Position 1 = 96
Branch analysis from position: 96
2 jumps found. (Code = 43) Position 1 = 100, Position 2 = 102
Branch analysis from position: 100
1 jumps found. (Code = 42) Position 1 = 103
Branch analysis from position: 103
2 jumps found. (Code = 43) Position 1 = 108, Position 2 = 110
Branch analysis from position: 108
1 jumps found. (Code = 42) Position 1 = 111
Branch analysis from position: 111
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 110
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 102
2 jumps found. (Code = 43) Position 1 = 108, Position 2 = 110
Branch analysis from position: 108
Branch analysis from position: 110
Branch analysis from position: 95
2 jumps found. (Code = 43) Position 1 = 100, Position 2 = 102
Branch analysis from position: 100
Branch analysis from position: 102
Branch analysis from position: 87
2 jumps found. (Code = 43) Position 1 = 93, Position 2 = 95
Branch analysis from position: 93
Branch analysis from position: 95
Branch analysis from position: 80
2 jumps found. (Code = 43) Position 1 = 85, Position 2 = 87
Branch analysis from position: 85
Branch analysis from position: 87
Branch analysis from position: 72
2 jumps found. (Code = 43) Position 1 = 78, Position 2 = 80
Branch analysis from position: 78
Branch analysis from position: 80
Branch analysis from position: 65
2 jumps found. (Code = 43) Position 1 = 70, Position 2 = 72
Branch analysis from position: 70
Branch analysis from position: 72
Branch analysis from position: 58
2 jumps found. (Code = 43) Position 1 = 63, Position 2 = 65
Branch analysis from position: 63
Branch analysis from position: 65
Branch analysis from position: 50
2 jumps found. (Code = 43) Position 1 = 56, Position 2 = 58
Branch analysis from position: 56
Branch analysis from position: 58
Branch analysis from position: 43
2 jumps found. (Code = 43) Position 1 = 48, Position 2 = 50
Branch analysis from position: 48
Branch analysis from position: 50
Branch analysis from position: 36
2 jumps found. (Code = 43) Position 1 = 41, Position 2 = 43
Branch analysis from position: 41
Branch analysis from position: 43
Branch analysis from position: 29
2 jumps found. (Code = 43) Position 1 = 34, Position 2 = 36
Branch analysis from position: 34
Branch analysis from position: 36
Branch analysis from position: 21
2 jumps found. (Code = 43) Position 1 = 27, Position 2 = 29
Branch analysis from position: 27
Branch analysis from position: 29
Branch analysis from position: 14
2 jumps found. (Code = 43) Position 1 = 19, Position 2 = 21
Branch analysis from position: 19
Branch analysis from position: 21
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 12, Position 2 = 14
Branch analysis from position: 12
Branch analysis from position: 14
filename:       /in/ktoRL
function name:  (null)
number of ops:  114
compiled vars:  !0 = $foo, !1 = $undefined
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'error_reporting'
          1        SEND_VAL                                                 0
          2        DO_ICALL                                                 
    4     3        ECHO                                                     'null++%3D%3D+false%3F+'
          4      > JMPZ                                                     <true>, ->7
          5    >   QM_ASSIGN                                        ~3      'yes'
          6      > JMP                                                      ->8
          7    >   QM_ASSIGN                                        ~3      'no'
          8    >   ECHO                                                     ~3
          9        ECHO                                                     '%0A'
    5    10        ECHO                                                     'null++%3D%3D+0++++%3F+'
         11      > JMPZ                                                     <true>, ->14
         12    >   QM_ASSIGN                                        ~4      'yes'
         13      > JMP                                                      ->15
         14    >   QM_ASSIGN                                        ~4      'no'
         15    >   ECHO                                                     ~4
         16        ECHO                                                     '%0A'
    6    17        ECHO                                                     'null++%3D%3D+%220%22++%3F+'
         18      > JMPZ                                                     <false>, ->21
         19    >   QM_ASSIGN                                        ~5      'yes'
         20      > JMP                                                      ->22
         21    >   QM_ASSIGN                                        ~5      'no'
         22    >   ECHO                                                     ~5
         23        ECHO                                                     '%0A'
    7    24        ECHO                                                     'null++%3D%3D+%24foo+%3F+'
         25        IS_EQUAL                                                 !0, null
         26      > JMPZ                                                     ~6, ->29
         27    >   QM_ASSIGN                                        ~7      'yes'
         28      > JMP                                                      ->30
         29    >   QM_ASSIGN                                        ~7      'no'
         30    >   ECHO                                                     ~7
         31        ECHO                                                     '%0A'
    8    32        ECHO                                                     'null++%3D%3D+%22%22+++%3F+'
         33      > JMPZ                                                     <true>, ->36
         34    >   QM_ASSIGN                                        ~8      'yes'
         35      > JMP                                                      ->37
         36    >   QM_ASSIGN                                        ~8      'no'
         37    >   ECHO                                                     ~8
         38        ECHO                                                     '%0A'
   10    39        ECHO                                                     'false+%3D%3D+0++++%3F+'
         40      > JMPZ                                                     <true>, ->43
         41    >   QM_ASSIGN                                        ~9      'yes'
         42      > JMP                                                      ->44
         43    >   QM_ASSIGN                                        ~9      'no'
         44    >   ECHO                                                     ~9
         45        ECHO                                                     '%0A'
   11    46        ECHO                                                     'false+%3D%3D+%220%22++%3F'
         47      > JMPZ                                                     <true>, ->50
         48    >   QM_ASSIGN                                        ~10     'yes'
         49      > JMP                                                      ->51
         50    >   QM_ASSIGN                                        ~10     'no'
         51    >   ECHO                                                     ~10
         52        ECHO                                                     '%0A'
   12    53        ECHO                                                     'false+%3D%3D+%24foo+%3F+'
         54        BOOL_NOT                                         ~11     !1
         55      > JMPZ                                                     ~11, ->58
         56    >   QM_ASSIGN                                        ~12     'yes'
         57      > JMP                                                      ->59
         58    >   QM_ASSIGN                                        ~12     'no'
         59    >   ECHO                                                     ~12
         60        ECHO                                                     '%0A'
   13    61        ECHO                                                     'false+%3D%3D+%22%22+++%3F+'
         62      > JMPZ                                                     <true>, ->65
         63    >   QM_ASSIGN                                        ~13     'yes'
         64      > JMP                                                      ->66
         65    >   QM_ASSIGN                                        ~13     'no'
         66    >   ECHO                                                     ~13
         67        ECHO                                                     '%0A'
   15    68        ECHO                                                     '0+++++%3D%3D+%220%22++%3F+'
         69      > JMPZ                                                     <true>, ->72
         70    >   QM_ASSIGN                                        ~14     'yes'
         71      > JMP                                                      ->73
         72    >   QM_ASSIGN                                        ~14     'no'
         73    >   ECHO                                                     ~14
         74        ECHO                                                     '%0A'
   16    75        ECHO                                                     '0+++++%3D%3D+%24foo+%3F+'
         76        IS_EQUAL                                                 !1, 0
         77      > JMPZ                                                     ~15, ->80
         78    >   QM_ASSIGN                                        ~16     'yes'
         79      > JMP                                                      ->81
         80    >   QM_ASSIGN                                        ~16     'no'
         81    >   ECHO                                                     ~16
         82        ECHO                                                     '%0A'
   17    83        ECHO                                                     '0+++++%3D%3D+%22%22+++%3F+'
         84      > JMPZ                                                     <false>, ->87
         85    >   QM_ASSIGN                                        ~17     'yes'
         86      > JMP                                                      ->88
         87    >   QM_ASSIGN                                        ~17     'no'
         88    >   ECHO                                                     ~17
         89        ECHO                                                     '%0A'
   19    90        ECHO                                                     '%220%22+++%3D%3D+%24foo+%3F+'
         91        IS_EQUAL                                                 !1, '0'
         92      > JMPZ                                                     ~18, ->95
         93    >   QM_ASSIGN                                        ~19     'yes'
         94      > JMP                                                      ->96
         95    >   QM_ASSIGN                                        ~19     'no'
         96    >   ECHO                                                     ~19
         97        ECHO                                                     '%0A'
   20    98        ECHO                                                     '%220%22+++%3D%3D+%22%22+++%3F+'
         99      > JMPZ                                                     <false>, ->102
        100    >   QM_ASSIGN                                        ~20     'yes'
        101      > JMP                                                      ->103
        102    >   QM_ASSIGN                                        ~20     'no'
        103    >   ECHO                                                     ~20
        104        ECHO                                                     '%0A'
   22   105        ECHO                                                     '%24foo++%3D%3D+%22%22+++%3F+'
        106        IS_EQUAL                                                 !1, ''
        107      > JMPZ                                                     ~21, ->110
        108    >   QM_ASSIGN                                        ~22     'yes'
        109      > JMP                                                      ->111
        110    >   QM_ASSIGN                                        ~22     'no'
        111    >   ECHO                                                     ~22
        112        ECHO                                                     '%0A'
        113      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
157.17 ms | 1408 KiB | 15 Q