Как заставить PHP выводить ошибку в операторе IF? - PullRequest
0 голосов
/ 08 ноября 2011

Как напечатать ошибку, если один из них не работает или, скорее, не отображать некоторые из них?

if ( $what === $toyota ) {
$print = "Camry";
} elseIF($what === $benz) {
$print = "S350";
} elseIF($what === $bmw) {
$print = "M5";
} elseIF($what === $honda) {
$print = "Accord";
} elseIF($what === $acura) {
$print = "mdx";
} elseIF($what === $jaguar) {
$print = "rx";
} elseIF($what === $landrover) {
$print = "rover";
} elseIF($what === $ford) {
$print = "sucks";
} elseIF($what === $gm) {
$print = "garbage";
} elseIF($what === $saturn) {
$print = "sat";
} elseIF($what === $jeep) {
$print = "not sure";
} elseIF($what === $chevy) {
$print = "whatever";
} elseIF($what === $porsche) {
$print = "Panamera";
} elseIF($what === $volkswagan) {
$print = "Passat";

}

print("$print");
}

}

Ответы [ 3 ]

2 голосов
/ 08 ноября 2011

как насчет добавления простого else в конце?

} elseIF($what === $volkswagan) {
    $print = "Passat";
} else {
    $print = "ERROR !!!";
}
2 голосов
/ 08 ноября 2011
$map = array($wolskwagan => 'Passat', $chevy => 'whatever');
if (isset($map[$what])) print $map[$what]; else print 'error'; `
1 голос
/ 08 ноября 2011

Каждая из ваших логических ветвей сравнивает переменную $ what с другой переменной, названной в честь марки автомобиля. т.е. ($ what === $ honda) Где и для чего вы устанавливаете все эти переменные до того, как начнется логика? Похоже, было бы проще написать ($ what === "honda") или использовать оператор switch, как все рекомендуют.

Также при распечатке переменной вам не нужны кавычки.

Просто распечатать ($ print) и почему бы не напечатать ($ what), чтобы точно узнать, что это такое.

...