Bitwise vs. is primarily a binary number operation.
The code is as follows:
Copy Code code as follows:
<?php
$a = 1;
$b = 2;
$c = $a ^b;
echo $c//3
?>
This is not a simple addition relationship.
Decimal 1 translates into binary 00000001
Decimal 2 translates into binary 00000010
bitwise ^ 00000011//Just the difference is 1 ^_^
And then
Copy Code code as follows:
<?php
$a = 1;
$b = 2;
echo $a & $c; 1
?>
Decimal 3 translates into binary 00000011
Decimal 1 translates into binary 00000001
Bitwise & 00000001//Is the same as the same number of single digits, or 0.
Finally, the following usage is introduced. It is meaningless to return a value after bitwise &. It is mainly used to determine whether $a exists in $c//permission usage is more.
Copy Code code as follows:
<?php
$my _privilege = 15; 1+2+4+8 has full permissions
$Pri = ';
$privilege _arr = Array (8=> ' increase ', 4=> ' delete ',2=> ' change ',1=> ' check ');
foreach ($privilege _arr as $k => $v) {
$k & $my _privilege && $Pri. = ' I have '. $v. ' Power <br> ';
}
Echo $Pri;
?>