我在另一个问题中看到了这个运算符|=
,我想知道它的作用。它看起来像这样:
$result |= (ord($safe[$i % $safeLen]) ^ ord($user[$i]));
答案 0 :(得分:4)
它只是一个组合运算符:assignment(=
)和OR operator(|
)。它与:
$result = $result | (ord($safe[$i % $safeLen]) ^ ord($user[$i]));
按位OR(包含)运算符|
:
a | b | result
---------------------
0 | 0 | 0
1 | 0 | 1
0 | 1 | 1
1 | 1 | 1
按位XOR(独占)运算符^
:
a | b | result
---------------------
0 | 0 | 0
1 | 0 | 1
0 | 1 | 1
1 | 1 | 0