ビット演算子は、整数における特定のビットをオンまたはオフにすることを 可能にします。もし左辺値と右辺値共に文字列であった場合にはビット演算子は 文字の ASCII 値に対して作用します。
<?php |
表 15-3. ビット演算子
| 例 | 名前 | 結果 |
|---|---|---|
| $a & $b | ビット積 | $a および $b の両方にセットされているビット |
| $a | $b | ビット和 | $a または $b のどちらかにセットされているビット |
| $a ^ $b | 排他的論理和 | $a または $b にセットされており、両方にセットされていないビット |
| ~ $a | 否定 | $a にセットされているビットはセットせず、そうでないものは逆にする |
| $a << $b | 左シフト | $a のビットを左に $b ビットシフトする(各シフトは "2をかける" ことを意味します) |
| $a >> $b | 右シフト | $a のビットを右に $b ビットシフトします (各シフトは "2で割る" ことを意味します) |
| 警告 |
32 ビットシステムでは 32 ビット以上の右シフトは行わないでください。 また、結果が 32 ビットを超えてしまうような左シフトも行わないでください。 |