按位或操作,将操作符前后的两个值转换成二进制进行按位或操作,当且仅当相同位都为0的时候返回0,反之则返回1
如:12|7
运算如图:12:00001100
|
7: 00000111
----------------
: 00001111
即结果为:15
~:按位非,表示将值取相反数减1。
如:~12
运算如下:-12-1
所以结果为:-13
^:按位异或,表示将符号前面的两个值转换成2进制进行按位异或操作,当且仅当相同位有1,但不全为1的时候返回1,
反之则返回0
如:12^7
运算如图:12:00001100
^
7: 00000111
----------------
: 00001011
即结果为:11
<<:位左移,将<<前面值转换成2进制向左移动<<后面的位数
如:12<<3
运算如下:
12:00001100
<<3
结果:01100000
即结果为:96
运算总结:数值*2的移动位数次方
12*2的3次方
>>:位右移运算,将>>前面值转换成2进制向右移动>>后面的位数
如:12>>1
运算如下:
12:00001100
>>1
结果:00000110
即结果为:6
运算总结:数值除以2的移动位数次方
12/2的1次方
9》其他操作符
?:三项式操作符号
语法:表达式1?表达式2:表达式3
意义:判断表达式1是否为真,如果为真,执行表达式2,如果为假执行表达式3
如:
1==1?$a="1等于1":$a="1不等于1";
echo $a;
@:错误屏蔽操作符
将表达式的错误提示信息直接忽略,不显示到浏览器上