PHP中“| =”的含义是什么?

时间:2013-04-30 00:49:50

标签: php

我正在阅读其他人的PHP代码,并且有一行写道:

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

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

2 个答案:

答案 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;

Or (inclusive or)

例如

define(STATUS_PRIVATE, 0b01);
$status = 0b00;
$status |= STATUS_PRIVATE; //status become 0b01;