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

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
161.64 ms | 1404 KiB | 17 Q