#switch-statement
#switch-оператор
Вопрос:
Прежде чем я задал этот вопрос, я попробовал с PHP, и это работает, но мне интересно, считается ли это стандартным.
Итак, вот ситуация, у меня есть огромная инструкция switch / case, в которой каждый случай обрабатывает конкретный HTTP-запрос на основе заголовка запроса. В одном случае я хочу обновить строки в таблице mysql, если переменная имеет значение true, и удалить строки, если она имеет значение false, поэтому я подумал, могу ли я сделать что-то подобное :
<?php
switch ($request) {
case 'stuff':
stuff();
break;
case 'thatThing':
if (!$theVar) {
deleteTheRows();
// Break out of the switch statement so that the rest of this case is ignored
break;
}
updateTheRows();
break;
default:
otherStuff();
break;
}
?>
Идея состоит в том, чтобы break;
действовать как a return
в функции, позволяя мне обрабатывать все исключительные случаи, прежде чем переходить к коду обычной ситуации, не вкладывая его в дополнительную глубину отступа
Ответ №1:
In one case I want to update rows in a mysql table if a variable is true
and delete rows if it's false
Другая причина столь же эффективна…
<?php
switch ($request) {
case 'stuff':
stuff();
break;
case 'thatThing':
if (!$theVar) {
deleteTheRows();
} else {
updateTheRows();
}
break;
default:
otherStuff();
break;
}
?>