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