Bit-Operatoren erlauben es, in einem Integer bestimmte Bits "ein- oder auszuschalten" (auf 0 oder 1 zu setzen). Wenn beide, der links- und rechtsseitige Parameter, Zeichenketten sind, arbeiten die Bit-Operatoren mit ASCII-Werten der einzelnen Zeichen.
<?php
echo 12 ^ 9; // Ausgabe '5'
echo "12" ^ "9"; // Ausgabe: das Backspace-Zeichen (ascii 8)
// ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8
echo "hallo" ^ "hello"; // Gibt die ASCII-Werte #0 #4 #0 #0 #0
// 'a' ^ 'e' = #4 aus
?>
Beispiel | Name | Ergebnis |
---|---|---|
$a & $b | Und | Bits, die in $a und $b gesetzt sind werden gesetzt. |
$a | $b | Oder | Bits, die in $a oder $b gesetzt sind werden gesetzt. |
$a ^ $b | Entweder oder (Xor) | Bits, die entweder in $a oder $b, jedoch nicht in beiden gesetzt sind, werden gesetzt. |
~ $a | Nicht | Die Bits, die in $a nicht gesetzt sind, werden gesetzt und umgekehrt. |
$a << $b | Nach links verschieben | Verschiebung der Bits von $a um $b Stellen nach links (jede Stelle entspricht einer Mulitplikation mit zwei). |
$a >> $b | Nach rechts verschieben | Verschiebt die Bits von $a um $b Stellen nach rechts (jede Stelle entspricht einer Division durch zwei). |