Les opérateurs
PHP Manual

Opérateurs sur les bits

Les opérateurs sur les bits vous permettent de manipuler les bits dans un entier. Si les paramètres de gauche et de droite sont des chaînes de caractères, l'opérateur de bits agira sur les valeurs ASCII de ces caractères.

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

echo "12" "9"// Affiche le caractère d'effacement (ascii 8)
                        // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8

echo "hallo" "hello"// Affiche la valeur asciie : s #0 #4 #0 #0 #0
                                 // 'a' ^ 'e' = #4

echo "3"// Affiche 1
              // 2 ^ ((int)"3") == 1

echo "2" 3// Affiche 1
              // ((int)"2") ^ 3 == 1
?>

Les opérateurs sur les bits
Exemple Nom Résultat
$a & $b ET (And) Les bits positionnés à 1 dans $a ET dans $b sont positionnés à 1.
$a | $b OU (Or) Les bits positionnés à 1 dans $a OU $b sont positionnés à 1.
$a ^ $b Xor Les bits positionnés à 1 dans $a OU dans $b mais pas dans les deux sont positionnés à 1.
~ $a NON (Not) Les bits qui sont positionnés à 1 dans $a sont positionnés à 0, et vice versa.
$a << $b Décalage à gauche Décale les bits de $a, $b fois sur la gauche (chaque décalage équivaut à une multiplication par 2).
$a >> $b Décalage à droite Décalage des bits de $a, $b fois par la droite (chaque décalage équivaut à une division par 2).
Avertissement

N'effectuez pas de décalage à droite de plus de 32 bits sur les systèmes 32 bits. N'effectuez pas de décalage à droite dans le cas où le résultat est un nombre plus long que 32 bits.


Les opérateurs
PHP Manual