3v4l.org

run code in 300+ PHP versions simultaneously
<?php echo 'within var_dump: '; var_dump('0012e2' == '1e3'); $a = '0012e2'; $b = '1e3'; var_dump($a); var_dump($b); echo '== :'."\n"; echo 'direct : '; $i = ($a == $b); var_dump($i); echo 'direct strings : '; $i = ((string) $a == (string) $b); var_dump($i); echo 'string in var_dump: '; var_dump((string) $a == (string) $b); echo 'within var_dump: '; var_dump($a == $b); echo '=== :'."\n"; $i = (bool)((string) $a === (string) $b); var_dump($i); var_dump((string) '0010e2' === (string) '1e3'); echo '-'."\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/jmBeq
function name:  (null)
number of ops:  56
compiled vars:  !0 = $a, !1 = $b, !2 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ECHO                                                     'within+var_dump%3A+'
    3     1        INIT_FCALL                                               'var_dump'
          2        SEND_VAL                                                 <false>
          3        DO_ICALL                                                 
    5     4        ASSIGN                                                   !0, '0012e2'
    6     5        ASSIGN                                                   !1, '1e3'
    8     6        INIT_FCALL                                               'var_dump'
          7        SEND_VAR                                                 !0
          8        DO_ICALL                                                 
    9     9        INIT_FCALL                                               'var_dump'
         10        SEND_VAR                                                 !1
         11        DO_ICALL                                                 
   10    12        ECHO                                                     '%3D%3D+++%3A%0A'
   11    13        ECHO                                                     'direct+++++++++%3A+'
   12    14        IS_EQUAL                                         ~8      !0, !1
         15        ASSIGN                                                   !2, ~8
   13    16        INIT_FCALL                                               'var_dump'
         17        SEND_VAR                                                 !2
         18        DO_ICALL                                                 
   14    19        ECHO                                                     'direct+strings+%3A+'
   15    20        CAST                                          6  ~11     !0
         21        CAST                                          6  ~12     !1
         22        IS_EQUAL                                         ~13     ~11, ~12
         23        ASSIGN                                                   !2, ~13
   16    24        INIT_FCALL                                               'var_dump'
         25        SEND_VAR                                                 !2
         26        DO_ICALL                                                 
   17    27        ECHO                                                     'string+in+var_dump%3A+'
   18    28        INIT_FCALL                                               'var_dump'
         29        CAST                                          6  ~16     !0
         30        CAST                                          6  ~17     !1
         31        IS_EQUAL                                         ~18     ~16, ~17
         32        SEND_VAL                                                 ~18
         33        DO_ICALL                                                 
   19    34        ECHO                                                     'within+var_dump%3A+'
   20    35        INIT_FCALL                                               'var_dump'
         36        IS_EQUAL                                         ~20     !0, !1
         37        SEND_VAL                                                 ~20
         38        DO_ICALL                                                 
   21    39        ECHO                                                     '%3D%3D%3D++%3A%0A'
   22    40        CAST                                          6  ~22     !0
         41        CAST                                          6  ~23     !1
         42        IS_IDENTICAL                                     ~24     ~22, ~23
         43        BOOL                                             ~25     ~24
         44        ASSIGN                                                   !2, ~25
   23    45        INIT_FCALL                                               'var_dump'
         46        SEND_VAR                                                 !2
         47        DO_ICALL                                                 
   24    48        INIT_FCALL                                               'var_dump'
         49        CAST                                          6  ~28     '0010e2'
         50        CAST                                          6  ~29     '1e3'
         51        IS_IDENTICAL                                     ~30     ~28, ~29
         52        SEND_VAL                                                 ~30
         53        DO_ICALL                                                 
   25    54        ECHO                                                     '-%0A'
         55      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
155.26 ms | 1400 KiB | 15 Q