ビット演算子

ビット演算子は、整数における特定のビットをオンまたはオフにすることを 可能にします。もし左辺値と右辺値共に文字列であった場合にはビット演算子は 文字に対して作用します。

<?php
    
echo 12 ^ 9; // '5'を出力します

    
echo "12" ^ "9"; // バックスペース文字を出力します(ascii 8)
                     // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8

    
echo "hallo" ^ "hello"; // ascii値の #0 #4 #0 #0 #0 を出力します
                            // 'a' ^ 'e' = #4
?>

表 10-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で割る" ことを意味します)