3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = 'test'; $return = strpos($a, 't'); echo "\n"; echo (0) ? 'true' : 'false'; echo "\n"; echo ($return) ? 'true' : 'false'; echo "\n"; echo (strpos($a, 't')) ? 'true' : 'false'; echo "\n"; if (strpos($a, 't')) echo 'true'; else echo 'false'; echo "\n"; echo (strpos($a, 't') === 0) ? 'true' : 'false'; echo "\n"; echo (strpos($a, 't') === $return) ? 'true' : 'false'; echo "\n"; if (strpos($a, 't')) echo '4'; if (strpos($a, 't')) echo 'true';
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 10
Branch analysis from position: 8
1 jumps found. (Code = 42) Position 1 = 11
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 16
Branch analysis from position: 14
1 jumps found. (Code = 42) Position 1 = 17
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 24, Position 2 = 26
Branch analysis from position: 24
1 jumps found. (Code = 42) Position 1 = 27
Branch analysis from position: 27
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 = 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 = 55, Position 2 = 57
Branch analysis from position: 55
1 jumps found. (Code = 42) Position 1 = 58
Branch analysis from position: 58
2 jumps found. (Code = 43) Position 1 = 65, Position 2 = 66
Branch analysis from position: 65
2 jumps found. (Code = 43) Position 1 = 71, Position 2 = 72
Branch analysis from position: 71
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 72
Branch analysis from position: 66
Branch analysis from position: 57
2 jumps found. (Code = 43) Position 1 = 65, Position 2 = 66
Branch analysis from position: 65
Branch analysis from position: 66
Branch analysis from position: 46
2 jumps found. (Code = 43) Position 1 = 55, Position 2 = 57
Branch analysis from position: 55
Branch analysis from position: 57
Branch analysis from position: 36
2 jumps found. (Code = 43) Position 1 = 44, Position 2 = 46
Branch analysis from position: 44
Branch analysis from position: 46
Branch analysis from position: 26
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: 16
2 jumps found. (Code = 43) Position 1 = 24, Position 2 = 26
Branch analysis from position: 24
Branch analysis from position: 26
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 16
Branch analysis from position: 14
Branch analysis from position: 16
filename:       /in/B2lcs
function name:  (null)
number of ops:  73
compiled vars:  !0 = $a, !1 = $return
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, 'test'
    3     1        INIT_FCALL                                               'strpos'
          2        SEND_VAR                                                 !0
          3        SEND_VAL                                                 't'
          4        DO_ICALL                                         $3      
          5        ASSIGN                                                   !1, $3
    4     6        ECHO                                                     '%0A'
    5     7      > JMPZ                                                     0, ->10
          8    >   QM_ASSIGN                                        ~5      'true'
          9      > JMP                                                      ->11
         10    >   QM_ASSIGN                                        ~5      'false'
         11    >   ECHO                                                     ~5
    6    12        ECHO                                                     '%0A'
    7    13      > JMPZ                                                     !1, ->16
         14    >   QM_ASSIGN                                        ~6      'true'
         15      > JMP                                                      ->17
         16    >   QM_ASSIGN                                        ~6      'false'
         17    >   ECHO                                                     ~6
    8    18        ECHO                                                     '%0A'
    9    19        INIT_FCALL                                               'strpos'
         20        SEND_VAR                                                 !0
         21        SEND_VAL                                                 't'
         22        DO_ICALL                                         $7      
         23      > JMPZ                                                     $7, ->26
         24    >   QM_ASSIGN                                        ~8      'true'
         25      > JMP                                                      ->27
         26    >   QM_ASSIGN                                        ~8      'false'
         27    >   ECHO                                                     ~8
   10    28        ECHO                                                     '%0A'
   11    29        INIT_FCALL                                               'strpos'
         30        SEND_VAR                                                 !0
         31        SEND_VAL                                                 't'
         32        DO_ICALL                                         $9      
         33      > JMPZ                                                     $9, ->36
         34    >   ECHO                                                     'true'
         35      > JMP                                                      ->37
         36    >   ECHO                                                     'false'
   12    37    >   ECHO                                                     '%0A'
   13    38        INIT_FCALL                                               'strpos'
         39        SEND_VAR                                                 !0
         40        SEND_VAL                                                 't'
         41        DO_ICALL                                         $10     
         42        IS_IDENTICAL                                             $10, 0
         43      > JMPZ                                                     ~11, ->46
         44    >   QM_ASSIGN                                        ~12     'true'
         45      > JMP                                                      ->47
         46    >   QM_ASSIGN                                        ~12     'false'
         47    >   ECHO                                                     ~12
   14    48        ECHO                                                     '%0A'
   15    49        INIT_FCALL                                               'strpos'
         50        SEND_VAR                                                 !0
         51        SEND_VAL                                                 't'
         52        DO_ICALL                                         $13     
         53        IS_IDENTICAL                                             !1, $13
         54      > JMPZ                                                     ~14, ->57
         55    >   QM_ASSIGN                                        ~15     'true'
         56      > JMP                                                      ->58
         57    >   QM_ASSIGN                                        ~15     'false'
         58    >   ECHO                                                     ~15
   16    59        ECHO                                                     '%0A'
   17    60        INIT_FCALL                                               'strpos'
         61        SEND_VAR                                                 !0
         62        SEND_VAL                                                 't'
         63        DO_ICALL                                         $16     
         64      > JMPZ                                                     $16, ->66
         65    >   ECHO                                                     '4'
   18    66    >   INIT_FCALL                                               'strpos'
         67        SEND_VAR                                                 !0
         68        SEND_VAL                                                 't'
         69        DO_ICALL                                         $17     
         70      > JMPZ                                                     $17, ->72
         71    >   ECHO                                                     'true'
         72    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
153.31 ms | 1404 KiB | 15 Q