2013-04-30 48 views
-2

我讀其他的PHP代碼,並有一行寫道:什麼意思「| =」,在PHP

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

我不知道什麼是「| =」是什麼意思? 任何人都可以幫忙嗎?

+0

按位「或」速記。 – 2013-04-30 00:51:35

+0

您是否嘗試在官方PHP文檔中查找運算符列表? – Patashu 2013-04-30 00:51:38

+3

形式'a⊛= b'的任何運算符都可以簡寫爲'a = a⊛b' – 2013-04-30 00:53:05

回答

4

|是一個按位運算符。它需要兩個數字並進行按位或運算。 http://en.wikipedia.org/wiki/Bitwise_OR#OR

例: A = 4 B = 3

在二進制: A = 100 B = 011

A | B == 111(二進制)== 7(十進制)

A | = B與A = A | B

在您的具體示例中,代碼正在檢查$ isPrivate是否爲true。如果是這樣,它會使$狀態變量中的STATUS_PRIVATE標記爲TRUE。

1

這就是一個速記:

$status = $status | STATUS_PRIVATE; 

Or (inclusive or)

例如

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

這是在做什麼? – 2013-04-30 00:52:06

+0

它將'STATUS_PRIVATE'標誌設置爲true。 – C0deH4cker 2013-04-30 00:53:29