这有点难以解释,但我会尽我所能。
这与我目前正在运行的代码类似。
function func1()
{
func2()
}
function func2()
{
exit();
}
我需要能够从func2中停止执行func1,但是我需要一个更好的方法来执行它而不是exit()。由于func1的调用者可能还有其他操作要做,我也不想阻止它们,我只想阻止func1的其余部分执行。
我知道我可以在func1中放一个简单的if语句来检测func2的返回值,如果它是某个值则返回,但这也有点混乱。
所以我的问题是,如何在函数内停止执行其余的调用函数?
答案 0 :(得分:2)
返回一个值并检查它。
function func1()
{
$result = func2();
if ($result === 0) return;
// Your func1 code here
}
function func2()
{
if ( ... ) return 1;
else return 0;
}
答案 1 :(得分:0)
检查返回值并不凌乱。这是标准做法。你基本上有两个选择:
答案 2 :(得分:0)
这绝对没有办法。
请记住:func2()
可以从任何地方调用,而不仅仅是func1()
。你怎么知道你正在停止func1。
无论是什么让你觉得打断调用函数会解决问题 - 再想一想,并告诉我们正确建议的大局。