Bitwise operators allow you to turn specific bits within an integer on or off. If both the left- and right-hand parameters are strings, the bitwise operator will operate on the characters' ASCII values.

```
<?php
``` |

**Table 15-3. Bitwise Operators**

Example | Name | Result |
---|---|---|

$a & $b | And | Bits that are set in both $a and $b are set. |

$a | $b | Or | Bits that are set in either $a or $b are set. |

$a ^ $b | Xor | Bits that are set in $a or $b but not both are set. |

~ $a | Not | Bits that are set in $a are not set, and vice versa. |

$a << $b | Shift left | Shift the bits of $a $b steps to the left (each step means "multiply by two") |

$a >> $b | Shift right | Shift the bits of $a $b steps to the right (each step means "divide by two") |

Warning |

Don't right shift for more than 32 bits on 32 bits systems. Don't left shift in case it results to number longer than 32 bits. |