3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string1 = 'The lazy cat jumps over the fast fox.'; $string2 = 'The fast fox jumps over the lazy cat.'; $xor = $string1 ^ $string2; var_dump($xor);die(); $pos=0;$len=strlen($xor); while($pos<$len) { $pos=strspn($xor,"\0",$pos); print 'Diff @'.$pos.' String1:'.$string1[$pos].' String2:'.$string2[$pos].'<br>'; $pos++; }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 79) Position 1 = -2
filename:       /in/UcN9t
function name:  (null)
number of ops:  31
compiled vars:  !0 = $string1, !1 = $string2, !2 = $xor, !3 = $pos, !4 = $len
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, 'The+lazy+cat+jumps+over+the+fast+fox.'
    3     1        ASSIGN                                                   !1, 'The+fast+fox+jumps+over+the+lazy+cat.'
    4     2        BW_XOR                                           ~7      !0, !1
          3        ASSIGN                                                   !2, ~7
    5     4        INIT_FCALL                                               'var_dump'
          5        SEND_VAR                                                 !2
          6        DO_ICALL                                                 
          7      > EXIT                                                     
    7     8*       ASSIGN                                                   !3, 0
          9*       STRLEN                                           ~11     !2
         10*       ASSIGN                                                   !4, ~11
    8    11*       JMP                                                      ->28
    9    12*       INIT_FCALL                                               'strspn'
         13*       SEND_VAR                                                 !2
         14*       SEND_VAL                                                 '%00'
         15*       SEND_VAR                                                 !3
         16*       DO_ICALL                                         $13     
         17*       ASSIGN                                                   !3, $13
   10    18*       CONCAT                                           ~15     'Diff+%40', !3
         19*       CONCAT                                           ~16     ~15, '+String1%3A'
         20*       FETCH_DIM_R                                      ~17     !0, !3
         21*       CONCAT                                           ~18     ~16, ~17
         22*       CONCAT                                           ~19     ~18, '+String2%3A'
         23*       FETCH_DIM_R                                      ~20     !1, !3
         24*       CONCAT                                           ~21     ~19, ~20
         25*       CONCAT                                           ~22     ~21, '%3Cbr%3E'
         26*       ECHO                                                     ~22
   11    27*       PRE_INC                                                  !3
    8    28*       IS_SMALLER                                               !3, !4
         29*       JMPNZ                                                    ~24, ->12
   12    30*     > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
155.21 ms | 1396 KiB | 17 Q