我正在阅读其他人的 php 代码,其中一行写道:
if ($isprivate)
{
$status |= STATUS_PRIVATE;
}
我不知道“|=”是什么意思?有人可以帮忙吗?
我正在阅读其他人的 php 代码,其中一行写道:
if ($isprivate)
{
$status |= STATUS_PRIVATE;
}
我不知道“|=”是什么意思?有人可以帮忙吗?
| 是位运算符。它需要两个数字并进行按位或运算。http://en.wikipedia.org/wiki/Bitwise_OR#OR
例如:A = 4 B = 3
二进制:A = 100 B = 011
一个 | B == 111(二进制)== 7(十进制)
A |= B 等同于 A = A | 乙
在您的具体示例中,代码正在检查 $isPrivate 是否为真。如果是,它会使 $status 变量中由 STATUS_PRIVATE 标记的位设置为 TRUE。
这是这个的简写:
$status = $status | STATUS_PRIVATE;
例如
define(STATUS_PRIVATE, 0b01);
$status = 0b00;
$status |= STATUS_PRIVATE; //status become 0b01;