Jeśli mam następujące wartości logicznychUpewnij się, że dokładnie jedna boolean danej listy jest prawdziwa?
const YESTERDAY = false;
const TODAY = true;
const TOMORROW = false;
Co mogę napisać kod, aby upewnić się, że dokładnie jedna jest prawdziwa?
Próbowałem to:
$x = self::YESTERDAY^self::TODAY^self::TOMORROW;
Problemem jest to, że ze wszystkich trzech stałe ustawiona na true
następnie $x
jest true
.
możesz umieścić całą kombinację używając warunku OR '(WCZEŚNIEJ = true AND TODAY = false I JUTRA = false) lub (YESTERDAY = false AND TODAY = true AND TOMORROW = false) lub (YESTERDAY = false AND TODAY = false AND TOMORROW = true) ' –
On musi mieć pewność, że prawda jest excalty ONE, a nie CO NAJMNIEJ. – devdRew