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