PHP运算符|=解释

Ani*_*ran -1 php operator-keyword

我有这样的代码

<?php
$mask = 5;
$mask |= 10;
echo $mask;
?>
Run Code Online (Sandbox Code Playgroud)

上面代码的输出是15。但我无法理解运算符|=

Naz*_*san 5

$mask |= 10 表示 $mask = $mask | 10.“|” 运算符称为按位运算符。请遵循按位运算符如何工作的示例。

$mask =$mask | 10
      = 5 | 10
Firstly we have to convert the decimal to binary.
128 64 32 16 8 4 2 1
               1 0 1 =>5
             1 0 1 0 => 10
So for 5| 10
Output will be 8+4+2+1 =15
Run Code Online (Sandbox Code Playgroud)

这里我们需要将 1 位以下的所有十进制数相加。

另一个例子10 | 10

128 64 32 16 8 4 2 1
             1 0 1 0=>10
             1 0 1 0 => 10
Run Code Online (Sandbox Code Playgroud)

所以结果是10 | 10

= 8+2 = 10
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,请访问此链接 http://www.w3resource.com/php/operators/bitwise-operators.php