单个&符号在PHP条件语句中的含义是什么?

时间:2014-05-29 12:17:40

标签: php if-statement ampersand

以下代码在条件检查中使用单个&。单个&符号是什么意思?

if( $some_array_or_other_var & SOME_CONSTANT_VARIABLE ){ 
    //do something here 
}

它看起来不像是一个参考,这让我感到困惑。

1 个答案:

答案 0 :(得分:4)

这是一个按位AND操作:http://www.php.net/manual/en/language.operators.bitwise.php

如果在按位AND之后,结果为“truthy”,则该条款将被满足。

例如:

3 & 2 == 2 // because, in base 2, 3 is 011 and 2 is 010
4 & 1 == 0 // because, in base 2, 4 is 100 and 1 is 001

这通常用于检查标志位集中的单个位,通过测试2的幂,实际上是在检查是否设置了特定位。