Убедитесь, что только одно булево из заданного списка истинно?

Если у меня есть следующие булевы

const YESTERDAY = false;
const TODAY = true;
const TOMORROW = false;

Какой код я могу написать, чтобы убедиться, что именно одна из них истинна?

Я пробовал так:

$x = self::YESTERDAY ^ self::TODAY ^ self::TOMORROW;

Проблема в том, что если все три константы установлены в true, то $x будет true.

8
задан Matthew 30 January 2012 в 11:28
поделиться