Являются ли инструкции после заявления о возвращении бессмысленными?

Из того, что я понимаю, когда вы нажмете на команду return, подпрограмма закончится и вернется к основной программе. Итак, что-нибудь после заявления о возвращении бесполезно?

например.

switch ($foo) {
 case 'one':
 return true;
 break;
 case 'two':
 return true;
 break;
 default:
 header('Location: / ');
 die();
 break;
}

Неужели break бесполезен? Как насчет break после die()?

ЭГ2.

function foo($bar)
{
 if($bar != 1)
 {
 return false;
 die();
 }
 return true;
}

Является ли die() здесь бесполезным?

3 ответа

Вам не нужен break в случае по default И Да после return все бесполезно. Это не займет их, чтобы выполнить другое после return


Использование return в этих случаях фактически делает break избыточным. Оператор break должен прекратить провал случаев, выполняя скачки. Но так как это делает выражение о возврате, перерыв становится ненужным.

Менее гибкий язык с самоуверенным и нескромным компилятором может жаловаться, но цель достигнута. Код следует через switch правильно, прямо до конца функции.


все после возврата в кодовый блок является мертвым кодом (недостижимые утверждения). Вы можете использовать IDE, например, PhpStorm, который сигнализирует недостижимые утверждения.

licensed under cc by-sa 3.0 with attribution.