帮助理解这一行PHP正在做什么

mic*_*ael 1 php

变量值列在下面

$v['flag'] = 10
kPOSTAGE_HOME = 8
Run Code Online (Sandbox Code Playgroud)

那么下面这行怎么办?!

if(($v['flag']&kPOSTAGE_HOME)==kPOSTAGE_HOME) {
    //do something
}
Run Code Online (Sandbox Code Playgroud)

joh*_*nes 7

&设置两个值上设置的位.一些二进制数学:

  00001010 | 10
& 00001000 |  8
---------------
= 00001000 |  8
Run Code Online (Sandbox Code Playgroud)

所以10&8返回8,并且8 == 8.原因是要检查该位掩码中的标志是否已设置...