|= 运算符有什么作用?
What does the |= operator do?
我在另一个问题中看到这个运算符|=
,我想知道它的作用。它看起来像这样:
$result |= (ord($safe[$i % $safeLen]) ^ ord($user[$i]));
只是一个组合运算符:assignment(=
) and a OR operator(|
)。等于:
$result = $result | (ord($safe[$i % $safeLen]) ^ ord($user[$i]));
按位或(包含)运算符|
:
a | b | result
---------------------
0 | 0 | 0
1 | 0 | 1
0 | 1 | 1
1 | 1 | 1
按位异或(异或)运算符^
:
a | b | result
---------------------
0 | 0 | 0
1 | 0 | 1
0 | 1 | 1
1 | 1 | 0
我在另一个问题中看到这个运算符|=
,我想知道它的作用。它看起来像这样:
$result |= (ord($safe[$i % $safeLen]) ^ ord($user[$i]));
只是一个组合运算符:assignment(=
) and a OR operator(|
)。等于:
$result = $result | (ord($safe[$i % $safeLen]) ^ ord($user[$i]));
按位或(包含)运算符|
:
a | b | result
---------------------
0 | 0 | 0
1 | 0 | 1
0 | 1 | 1
1 | 1 | 1
按位异或(异或)运算符^
:
a | b | result
---------------------
0 | 0 | 0
1 | 0 | 1
0 | 1 | 1
1 | 1 | 0