PHP条件语句中的单个“&”号是什么意思?

Abr*_*lov -7 php if-statement ampersand

以下代码&在条件检查中使用单个。单个“&”号在那意味着什么?

if( $some_array_or_other_var & SOME_CONSTANT_VARIABLE ){ 
    //do something here 
}
Run Code Online (Sandbox Code Playgroud)

它看起来不像是参考文献,这使我感到困惑。

Mat*_*ari 5

这是按位与运算:http : //www.php.net/manual/zh/language.operators.bitwise.php

如果按位与之后的结果是“真实的”,则该子句将得到满足。

例如:

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
Run Code Online (Sandbox Code Playgroud)

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

  • @downvoter:答案出了什么问题?请让我知道,以便我改善它! (2认同)