#php #printing #echo
#php #печать #echo
Вопрос:
Как мне напечатать ошибку, если один из них не работает или, скорее, не отображает некоторые из них?
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");
}
}
Комментарии:
1. Вы когда-нибудь слышали о инструкции switch?
2. Возможно, что вам нужен
switch
оператор .3. тем не менее, это сработало для чего-то другого, что я делал, но по какой-то причине его здесь нет. Так или иначе, чтобы напечатать ошибку?
4. В целях отладки вам следует добавить ту
else{ ... }
ветку, которую я перечислил, чтобы посмотреть, попадет ли она в это. Если этого не происходит, то я предполагаю, что она попадает в$what === $honda
ветку и устанавливает $print в пустую строку. Если это не поможет вернуться, я могу предложить больше шагов отладки5. Хорошо, это ваша проблема.
$print = "error";
туда, либо инициализировать ее перед лестницей if-elseif, просто добавив$print = "";
прямо передif($what === $toyota)
строкой (или обе).
Ответ №1:
$map = array($wolskwagan => 'Passat', $chevy => 'whatever');
if (isset($map[$what])) print $map[$what]; else print 'error'; `
Ответ №2:
как насчет добавления простого else
в конце?
} elseIF($what === $volkswagan) {
$print = "Passat";
} else {
$print = "ERROR !!!";
}
Ответ №3:
Каждая из ваших логических ветвей сравнивает переменную $ what с другой переменной, названной в честь марки автомобиля. ie ($ what === $ honda) Где и для чего вы устанавливаете все эти различные переменные перед началом логики? Похоже, было бы проще написать ($ what === «honda») или использовать оператор switch, как все рекомендуют.
Также при распечатке переменной кавычки не нужны.
Просто напечатайте ($ print) и почему бы не напечатать ($ what), чтобы точно увидеть, что это такое.
Комментарии:
1. Верно, вам не нужны кавычки, но они также не вызовут ошибку.