我正在搞乱PHP运营商,我无法理解为什么
10 & 10 == 10
Run Code Online (Sandbox Code Playgroud)
返回0.这应该比较10到10这是对的吗?
比较运算符的优先级高于按位运算符,因此表达式的计算结果如下:
10 & (10 == 10)
Run Code Online (Sandbox Code Playgroud)
10 == 10评估为真,所以你得到10 & true.
按位&转换true为1,所以你得到的10 & 1是0.
请注意,11 & 10 == 10结果1,因为11 & 1 === 1.