【发布时间】:2012-01-30 11:28:13
【问题描述】:
如果我有以下布尔值
const YESTERDAY = false;
const TODAY = true;
const TOMORROW = false;
我可以编写什么代码来确保其中一个是真的?
我试过了:
$x = self::YESTERDAY ^ self::TODAY ^ self::TOMORROW;
问题是所有三个常量都设置为true,那么$x 就是true。
【问题讨论】:
-
你可以使用 OR 条件
(YESTERDAY=true AND TODAY=false AND TOMORROW=false) or (YESTERDAY=false AND TODAY=true AND TOMORROW=false) or (YESTERDAY=false AND TODAY=false AND TOMORROW=true) -
他需要确定真实的是一个,而不是至少一个。
标签: php xor boolean-logic boolean-operations