3v4l.org

run code in 300+ PHP versions simultaneously
<?php foreach (array( 'localpart.ending.with.dot.@example.com', '(comment)localpart@example.com', '"this is v@lid!"@example.com', '"much.more unusual"@example.com', 'postbox@com', 'admin@mailserver1', '"()<>[]:,;@\\"\\\\!#$%&\'*+-/=?^_`{}| ~.a"@example.org', '" "@example.org', '"a@b.com"<script>alert(document.cookie)</script>', 'a@b.com' ) as $address) { echo "$address is ".(filter_var($address, FILTER_VALIDATE_EMAIL) ? '' : 'not')." valid\n"; } ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 1, Position 2 = 16
Branch analysis from position: 1
2 jumps found. (Code = 78) Position 1 = 2, Position 2 = 16
Branch analysis from position: 2
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
1 jumps found. (Code = 42) Position 1 = 1
Branch analysis from position: 1
Branch analysis from position: 11
1 jumps found. (Code = 42) Position 1 = 1
Branch analysis from position: 1
Branch analysis from position: 16
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 16
filename:       /in/p9gPt
function name:  (null)
number of ops:  18
compiled vars:  !0 = $address
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E > > FE_RESET_R                                       $1      <array>, ->16
          1    > > FE_FETCH_R                                               $1, !0, ->16
   14     2    >   NOP                                                      
          3        FAST_CONCAT                                      ~2      !0, '+is+'
          4        INIT_FCALL                                               'filter_var'
          5        SEND_VAR                                                 !0
          6        SEND_VAL                                                 274
          7        DO_ICALL                                         $3      
          8      > JMPZ                                                     $3, ->11
          9    >   QM_ASSIGN                                        ~4      ''
         10      > JMP                                                      ->12
         11    >   QM_ASSIGN                                        ~4      'not'
         12    >   CONCAT                                           ~5      ~2, ~4
         13        CONCAT                                           ~6      ~5, '+valid%0A'
         14        ECHO                                                     ~6
    3    15      > JMP                                                      ->1
         16    >   FE_FREE                                                  $1
   16    17      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
155.94 ms | 1395 KiB | 15 Q