-2

私は他のphpコードを読んでいます.1行の書き込みがあります:

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

「|=」の意味がわかりません。誰でもそれを助けることができますか?

4

2 に答える 2

4

| | ビット演算子です。2 つの数値を取り、ビット単位の OR 演算を実行します。http://en.wikipedia.org/wiki/Bitwise_OR#OR

例: A = 4 B = 3

バイナリ: A = 100 B = 011

あ | B == 111 (2 進数) == 7 (10 進数)

A |= B は A = A | と同じです。B

特定の例では、コードは $isPrivate が true かどうかを確認しています。そうである場合、$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 に答える