Выполнить код внутри оператора IF во всех случаях, кроме одного - PullRequest
0 голосов
/ 23 ноября 2018

Каков был бы правильный способ сделать это?Например:

if ($var1 == 'value1' && $var2 == 'value2') {
    //code2
    return;
} else {
    //code1
}
//code2

Я думал об использовании ключевого слова continue insided if, но я также хотел бы знать, есть ли лучший способ?

РЕДАКТИРОВАТЬ

Чтобы быть более точным, я попытаюсь объяснить это лучше.$var1 - это текущая пользовательская роль, а $var2 - роль пользователя, чьи данные (скажем, по электронной почте) вставляются в таблицу.code2 - это часть, которую всегда нужно выполнять, и там много строк, и поэтому я не должен дублировать ее.code1 - это часть, в которой я сообщаю пользователю, что он должен подтвердить свой адрес электронной почты, и я вставляю в таблицу то же самое (это электронное письмо все еще не проверено).Существует только один случай, когда этого не должно происходить, и когда электронная почта должна автоматически проверяться при добавлении, и это тот случай, когда $var1 - ADMIN, а $var2 - РЕГУЛЯРНЫЙ ПОЛЬЗОВАТЕЛЬ.Во всех остальных случаях следует выполнить code1.

1 Ответ

0 голосов
/ 23 ноября 2018

Из вашего вопроса

if ($var1 == 'value1' && $var2 == 'value2') {
    //code2
    return;
} else {
    //code1
}
//code2

Мне кажется, что code2 должен быть выполнен, несмотря ни на что.В этом случае вы должны переключить оператор if:

if( $var1 != 'value1' || $var2 != 'value2'){
  code1();
}
code2();

. code2 всегда будет выполняться, а в случае необходимости code1 тоже будет выполняться

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...