Operador Bit-a-bit

Operadores bit-a-bit permitem que você acione ou desligue bits específicos dentro de um inteiro. Se ambos os parâmetros da esquerda e da direita forem strings, esses operadores irão trabalhar nos caracteres dessa string.

<?php
echo 12 ^ 9; // Imprime '5'

echo "12" ^ "9"; // Imprime o caracter de volta (backspace - ASCII 8)
                 // ('1' (ASCII 49)) ^ ('9' (ASCII 57)) = #8

echo "hallo" ^ "hello"; // Imprime os valores ASCII #0 #4 #0 #0 #0
                        // 'a' ^ 'e' = #4
?>

Tabela 15-3. Operadores Bit-a-bit

ExemploNomeResultado
$a & $bEOs bits que estão ativos tanto em $a quanto em $b são ativados.
$a | $bOUOs bits que estão ativos em $a ou em $b são ativados.
$a ^ $bXOR Os bits que estão ativos em $a ou em $b, mas não em ambos, são ativados.
~ $aNÃO Os bits que estão ativos em $a não são ativados, e vice-versa.
$a << $bDeslocamento à esquerda Desloca os bits de $a $b passos para a esquerda (cada passo significa "multiplica por dois")
$a >> $bDeslocamento à direita Desloca os bits de $a $b passos para a direita (cada passo significa "divide por dois")