Что делает оператор | =?

Я видел этого оператора |= в другом вопросе и мне стало интересно, что он делает. Это выглядит так:

 $result |= (ord($safe[$i % $safeLen]) ^ ord($user[$i]));

1

Решение

Это просто комбинированный оператор: назначение (=) и Оператор ИЛИ (|). Это так же, как:

$result = $result | (ord($safe[$i % $safeLen]) ^ ord($user[$i]));

Побитовый оператор ИЛИ (включительно) |:

  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
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]