Вопрос в том, как выйти из функции из вызова вложенной функции? Другими словами:
function action() {
// some working code
KillingFunction();
// code, that will not execute
}
В псевдокоде функция может выглядеть так:
function KillingFunction() {
return return;
}
Конечно я могу сделать:
function KillingFunction() {
die();
}
Но в такой ситуации весь код, который идет ниже action (), будет мертвым.
Есть ли какой-то лайфхак для такой ситуации?
Просто проверьте возвращаемое значение внутренней функции:
function main($terminate) {
if (dieFunction($terminate)) {
return false;
}
echo "Not dead too!";
return true;
}
function dieFunction($terminate = true) {
if ($terminate) {
return false;
}
echo "I'm not dead!";
return true;
}
main(true); // no output;
main(false); // "I'm not dead!Not dead too!"
Вы можете применить другую логику для возвращаемых значений.
Вы можете выйти из функции, используя return
:
function action() {
// some working code
return 0;
// code, that will not execute
}