如果我有以下布尔值
const YESTERDAY = false; const TODAY = true; const TOMORROW = false;
我可以编写什么代码来确保一个是真的?
我试过这个:
$x = self::YESTERDAY ^ self::TODAY ^ self::TOMORROW;
问题是,将所有三个常量设置为true,然后$x为真.
$x =((int)self :: YESTERDAY)((int)self :: TODAY)((int)self :: TOMORROW);那么如果$x === 1;你有你需要的东西.
编辑:
即使没有类型转换(int),由于@DaveRandom,它运行良好,所以:
if(self :: YESTERDAY self :: TODAY self :: TOMORROW == 1){},就我而言.