3v4l.org

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

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
169.37 ms | 1404 KiB | 21 Q