位运算符
位运算符是针对二进制数的每一位进行运算的符号,它专门针对数字0和1进行操作。PHP中的位运算符及其范例如表1所示。
表1 位运算符
运算符 | 名称 | 范例 | 结果 |
---|---|---|---|
& | 按位与 | $a & $b | $a和$b每一位进行“与”操作后的结果 |
| | 按位或 | $a | $b | $a和$b每一位进行“或”操作后的结果 |
~ | 按位非 | ~$a | $a的每一位进行“非”操作后的结果 |
^ | 按位异或 | $a ^ $b | $a和$b每一位进行“异或”操作后的结果 |
<< | 左移 | $a << $b | 将Sa左移就b次(每一次移动都表示“乘以2”) |
>> | 右移 | $a >> $b | 将$a右移和次(每一次移动都表示“除以2”) |
在PHP中,位运算符既可以对整型类型数据进行运算,还可以对字符进行位运算。在对数字进行位运算之前,程序会将所有的操作数转换成二进制数,然后再逐位运算。而在对字符进行位运算之前,首先将字符转换成对应的ASCII码(数字),然后对产生的数字进行上述运算,再把运算结果(数字)转换成对应的字符。如果两个字符串长度不一样,则从两个字符串起始位置处开始计算,之后多余的自动转换为空。