3v4l.org

run code in 300+ PHP versions simultaneously
<?php $identifier = "a@z.com"; $identifier2 = "another"; echo "Original\n"; echo "B: " . (strpos($identifier, '@') === false ? 0 : 1) ."\n"; echo "B: " . (strpos($identifier2, '@') === false ? 0 : 1) ."\n"; echo "\n"; echo "Improve\n"; echo "B: " . ((int) (strpos($identifier, '@') !== false)) ."\n"; echo "B: " . ((int) (strpos($identifier2, '@') !== false)) ."\n";
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 11
Branch analysis from position: 9
1 jumps found. (Code = 42) Position 1 = 12
Branch analysis from position: 12
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 23
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 24
Branch analysis from position: 24
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 23
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 23
Branch analysis from position: 21
Branch analysis from position: 23
filename:       /in/7K3ge
function name:  (null)
number of ops:  48
compiled vars:  !0 = $identifier, !1 = $identifier2
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, 'a%40z.com'
    3     1        ASSIGN                                                   !1, 'another'
    5     2        ECHO                                                     'Original%0A'
    6     3        INIT_FCALL                                               'strpos'
          4        SEND_VAR                                                 !0
          5        SEND_VAL                                                 '%40'
          6        DO_ICALL                                         $4      
          7        TYPE_CHECK                                    4          $4
          8      > JMPZ                                                     ~5, ->11
          9    >   QM_ASSIGN                                        ~6      0
         10      > JMP                                                      ->12
         11    >   QM_ASSIGN                                        ~6      1
         12    >   CONCAT                                           ~7      'B%3A+', ~6
         13        CONCAT                                           ~8      ~7, '%0A'
         14        ECHO                                                     ~8
    7    15        INIT_FCALL                                               'strpos'
         16        SEND_VAR                                                 !1
         17        SEND_VAL                                                 '%40'
         18        DO_ICALL                                         $9      
         19        TYPE_CHECK                                    4          $9
         20      > JMPZ                                                     ~10, ->23
         21    >   QM_ASSIGN                                        ~11     0
         22      > JMP                                                      ->24
         23    >   QM_ASSIGN                                        ~11     1
         24    >   CONCAT                                           ~12     'B%3A+', ~11
         25        CONCAT                                           ~13     ~12, '%0A'
         26        ECHO                                                     ~13
    9    27        ECHO                                                     '%0A'
   10    28        ECHO                                                     'Improve%0A'
   11    29        INIT_FCALL                                               'strpos'
         30        SEND_VAR                                                 !0
         31        SEND_VAL                                                 '%40'
         32        DO_ICALL                                         $14     
         33        TYPE_CHECK                                  1018  ~15     $14
         34        CAST                                          4  ~16     ~15
         35        CONCAT                                           ~17     'B%3A+', ~16
         36        CONCAT                                           ~18     ~17, '%0A'
         37        ECHO                                                     ~18
   12    38        INIT_FCALL                                               'strpos'
         39        SEND_VAR                                                 !1
         40        SEND_VAL                                                 '%40'
         41        DO_ICALL                                         $19     
         42        TYPE_CHECK                                  1018  ~20     $19
         43        CAST                                          4  ~21     ~20
         44        CONCAT                                           ~22     'B%3A+', ~21
         45        CONCAT                                           ~23     ~22, '%0A'
         46        ECHO                                                     ~23
         47      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
173.65 ms | 1400 KiB | 15 Q