3v4l.org

run code in 300+ PHP versions simultaneously
<?php function xoruj($str, $mask) { if (strlen($str) < 1) { return FALSE; } $j = 0; for ($i = 0; $i < strlen($str); $i++) { $str[$i] = $str[$i] ^ $mask[$j]; $j++; if ($j == strlen($mask)) { $j = 0; } } return $str; } $str1 = "aaa"; $str2 = "bb"; echo xoruj($str1, $str2);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/sIqoj
function name:  (null)
number of ops:  8
compiled vars:  !0 = $str1, !1 = $str2
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   16     0  E >   ASSIGN                                                   !0, 'aaa'
   17     1        ASSIGN                                                   !1, 'bb'
   19     2        INIT_FCALL                                               'xoruj'
          3        SEND_VAR                                                 !0
          4        SEND_VAR                                                 !1
          5        DO_FCALL                                      0  $4      
          6        ECHO                                                     $4
          7      > RETURN                                                   1

Function xoruj:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 6
Branch analysis from position: 5
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
1 jumps found. (Code = 42) Position 1 = 20
Branch analysis from position: 20
2 jumps found. (Code = 44) Position 1 = 23, Position 2 = 9
Branch analysis from position: 23
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 19
Branch analysis from position: 18
2 jumps found. (Code = 44) Position 1 = 23, Position 2 = 9
Branch analysis from position: 23
Branch analysis from position: 9
Branch analysis from position: 19
filename:       /in/sIqoj
function name:  xoruj
number of ops:  25
compiled vars:  !0 = $str, !1 = $mask, !2 = $j, !3 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   RECV                                             !0      
          1        RECV                                             !1      
    3     2        STRLEN                                           ~4      !0
          3        IS_SMALLER                                               ~4, 1
          4      > JMPZ                                                     ~5, ->6
    4     5    > > RETURN                                                   <false>
    6     6    >   ASSIGN                                                   !2, 0
    7     7        ASSIGN                                                   !3, 0
          8      > JMP                                                      ->20
    8     9    >   FETCH_DIM_R                                      ~9      !0, !3
         10        FETCH_DIM_R                                      ~10     !1, !2
         11        BW_XOR                                           ~11     ~9, ~10
         12        ASSIGN_DIM                                               !0, !3
         13        OP_DATA                                                  ~11
    9    14        PRE_INC                                                  !2
   10    15        STRLEN                                           ~13     !1
         16        IS_EQUAL                                                 !2, ~13
         17      > JMPZ                                                     ~14, ->19
   11    18    >   ASSIGN                                                   !2, 0
    7    19    >   PRE_INC                                                  !3
         20    >   STRLEN                                           ~17     !0
         21        IS_SMALLER                                               !3, ~17
         22      > JMPNZ                                                    ~18, ->9
   14    23    > > RETURN                                                   !0
   15    24*     > RETURN                                                   null

End of function xoruj

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
153.32 ms | 1394 KiB | 14 Q