Operadores
PHP Manual

Operadores Bit a Bit

Los operadores bit a bit le permiten activar o desactivar bits individuales de un entero. Si los parámetros tanto a la izquierda y a la derecha son cadenas, el operador bit a bit trabajará sobre los valores ASCII de los caracteres.

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

echo "12" "9"// Imprime el caracter Backspace (ascii 8)
                 // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8

echo "hallo" "hello"// Imprime los valores ascii #0 #4 #0 #0 #0
                        // 'a' ^ 'e' = #4
?>

Operadores Bit a Bit
Ejemplo Nombre Resultado
$a & $b Y Los bits que están activos tanto en $a como en $b son activados.
$a | $b O Los bits que están activos ya sea en $a o en $b son activados.
$a ^ $b O exclusivo (Xor) Los bits que estén activos en $a o $b, pero no en ambos, son activados.
~ $a No Los bits que estén activos en $a son desactivados, y vice-versa.
$a << $b Desplazamiento a izquierda Desplaza los bits de $a, $b pasos a la izquierda (cada paso quiere decir "multiplicar por dos")
$a >> $b Desplazamiento a derecha Desplaza los bits de $a, $b pasos a la derecha (cada paso quiere decir "dividir por dos")
Warning

No realice desplazamientos a derecha para más de 32 bits en sistemas de 32 bits. No realice desplazamientos a izquierda en caso de que resulte en un número de más de 32 bits.


Operadores
PHP Manual