3v4l.org

run code in 300+ PHP versions simultaneously
<?php $foo = false; var_dump(!empty($foo) === (isset($foo) && $foo > 0)); $foo = 0; var_dump(!empty($foo) === (isset($foo) && $foo > 0)); $foo = -1; var_dump(!empty($foo) === (isset($foo) && $foo > 0)); $foo = 1; var_dump(!empty($foo) === (isset($foo) && $foo > 0));
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 6, Position 2 = 8
Branch analysis from position: 6
2 jumps found. (Code = 46) Position 1 = 17, Position 2 = 19
Branch analysis from position: 17
2 jumps found. (Code = 46) Position 1 = 28, Position 2 = 30
Branch analysis from position: 28
2 jumps found. (Code = 46) Position 1 = 39, Position 2 = 41
Branch analysis from position: 39
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 41
Branch analysis from position: 30
Branch analysis from position: 19
Branch analysis from position: 8
filename:       /in/Y89C2
function name:  (null)
number of ops:  45
compiled vars:  !0 = $foo
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <false>
    3     1        INIT_FCALL                                               'var_dump'
          2        ISSET_ISEMPTY_CV                                 ~2      !0
          3        BOOL_NOT                                         ~3      ~2
          4        ISSET_ISEMPTY_CV                                 ~4      !0
          5      > JMPZ_EX                                          ~4      ~4, ->8
          6    >   IS_SMALLER                                       ~5      0, !0
          7        BOOL                                             ~4      ~5
          8    >   IS_IDENTICAL                                     ~6      ~3, ~4
          9        SEND_VAL                                                 ~6
         10        DO_ICALL                                                 
    5    11        ASSIGN                                                   !0, 0
    6    12        INIT_FCALL                                               'var_dump'
         13        ISSET_ISEMPTY_CV                                 ~9      !0
         14        BOOL_NOT                                         ~10     ~9
         15        ISSET_ISEMPTY_CV                                 ~11     !0
         16      > JMPZ_EX                                          ~11     ~11, ->19
         17    >   IS_SMALLER                                       ~12     0, !0
         18        BOOL                                             ~11     ~12
         19    >   IS_IDENTICAL                                     ~13     ~10, ~11
         20        SEND_VAL                                                 ~13
         21        DO_ICALL                                                 
    8    22        ASSIGN                                                   !0, -1
    9    23        INIT_FCALL                                               'var_dump'
         24        ISSET_ISEMPTY_CV                                 ~16     !0
         25        BOOL_NOT                                         ~17     ~16
         26        ISSET_ISEMPTY_CV                                 ~18     !0
         27      > JMPZ_EX                                          ~18     ~18, ->30
         28    >   IS_SMALLER                                       ~19     0, !0
         29        BOOL                                             ~18     ~19
         30    >   IS_IDENTICAL                                     ~20     ~17, ~18
         31        SEND_VAL                                                 ~20
         32        DO_ICALL                                                 
   11    33        ASSIGN                                                   !0, 1
   12    34        INIT_FCALL                                               'var_dump'
         35        ISSET_ISEMPTY_CV                                 ~23     !0
         36        BOOL_NOT                                         ~24     ~23
         37        ISSET_ISEMPTY_CV                                 ~25     !0
         38      > JMPZ_EX                                          ~25     ~25, ->41
         39    >   IS_SMALLER                                       ~26     0, !0
         40        BOOL                                             ~25     ~26
         41    >   IS_IDENTICAL                                     ~27     ~24, ~25
         42        SEND_VAL                                                 ~27
         43        DO_ICALL                                                 
         44      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
187.88 ms | 1405 KiB | 15 Q