-2

我正在阅读其他人的 php 代码,其中一行写道:

    if ($isprivate)
  {
    $status |= STATUS_PRIVATE;
  }

我不知道“|=”是什么意思?有人可以帮忙吗?

4

2 回答 2

4

| 是位运算符。它需要两个数字并进行按位或运算。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。

于 2013-04-30T00:55:46.320 回答
1

这是这个的简写:

$status =  $status | STATUS_PRIVATE;

或(包括或)

例如

define(STATUS_PRIVATE, 0b01);
$status = 0b00;
$status |= STATUS_PRIVATE; //status become 0b01;
于 2013-04-30T00:50:57.303 回答