以下代码在条件检查中使用单个&
。单个&符号是什么意思?
if( $some_array_or_other_var & SOME_CONSTANT_VARIABLE ){
//do something here
}
它看起来不像是一个参考,这让我感到困惑。
答案 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的幂,实际上是在检查是否设置了特定位。