Bitové operátory

Bitové operátory umožňují "přehodit" konkrétní bit v celočíselné hodnotě (integer) na jedničku nebo nulu. Pokud jsou jak levý, tak pravý parametr řetězce, pracují bitové operátory na znacích v těchto řetezcích.

<?php
    echo 12 ^ 9; // Vypíše '5'

    echo "12" ^ "9"; // Vypíše znak Backspace (ascii 8)
                     // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8

    echo "hallo" ^ "hello"; // Vypíše ascii hodnoty #0 #4 #0 #0 #0
                            // 'a' ^ 'e' = #4
?>

Tabulka 11-2. Bitové operátory

PříkladNázevVýsledek
$a & $bAnd (log. součin)Nastavují se bity, kde je jednička v $a i v $b.
$a | $bOr(log. součet)Nastavují se bity, kde je jednička v $a nebo v $b (i v obou současně).
$a ^ $bXor (exkluzívní log. součet) Nastavují se bity, kde je jednička v $a nebo v $b, ale ne v obou současně.
~ $aNot (negace) Tam, kde je nula, bude jednička, a naopak.
$a << $bPosun vlevo Posune bity v $a o $b kroků (míst) vlevo (každý krok znamená "násobení dvěma").
$a >> $bPosun vpravo Posune bity v $a o $b kroků (míst) vpravo (každý krok znamená "dělení dvěma").