PHP中&和&&的区别
我对&
和&&
感到困惑。 我有两本PHP书。 一个说他们是一样的,但另一个说他们是不同的。 我认为它们也是一样的。
他们不一样吗?
&
按位与。 请参阅按位运算符。 假设你做14 & 7
:
14 = 1110
7 = 0111
---------
14 & 7 = 0110 = 6
&&
是逻辑与。 请参阅逻辑运算符。 考虑这个真值表:
$a $b $a && $b
false false false
false true false
true false false
true true true
其他答案是正确的,但不完整。 逻辑“与”的一个关键特征是短路,意味着第二个操作数仅在必要时进行评估。 PHP手册给出了下面的例子来说明:
$a = (false && foo());
foo
永远不会被调用,因为结果在评估false后是已知的。 另一方面与
$a = (false & foo());
foo
将被调用(同样,结果是0而不是false)。
AND operation: & -> will do the bitwise AND operation , it just doing operation based on the bit values. && -> It will do logical AND operation. It is just the check the values is true or false. Based on the boolean value , it will evaluation the expression链接地址: http://www.djcxy.com/p/1691.html
上一篇: Difference between & and && in PHP
下一篇: PHP "&" operator