Diskuze: Proč nefunguje podmínka s negací
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj,
podmínka OR znamená "nebo", čili stačí, aby jen jedna z podmínek byla
splněna. Pokud máš
$opt = "test";
a podmínku
$opt == "live" or $opt == "test"
pak stačí, aby se $opt bylo "live" NEBO "test". U negace to funguje úplně stejně, jen se ti prohodí pravdivostní hodnota (true / false). Ve tvém případě teda stačí, aby hodnota $opt nebyla "live" NEBO "test". Jinými slovy pokud máš podmínku
$opt != "live" or $opt != "test"
tak ti ta podmínka projde vždycky, protože ta proměnná nemůže nabývat
zároveň "live" i "test"
Řešení tedy je místo OR použít AND
if (Config::$opt !== "live" and Config::$opt !== "test") {
exit("Chyba...");
}
Teď jsem omylem udělal chybu já a nejde mi to již editovat
Ve tvém případě stačí, aby hodnota $opt nebyla "live" A ZÁROVEŇ "test".
Tzn. pokud nenabývá ani jedné z těchto hodnot, pak program skončí
chybou.
Zobrazeno 4 zpráv z 4.