PHP - 停止执行调用函数

时间:2013-10-14 20:41:31

标签: php call execution

这有点难以解释,但我会尽我所能。

这与我目前正在运行的代码类似。

function func1()
{

     func2()

}

function func2()
{

     exit();

}

我需要能够从func2中停止执行func1,但是我需要一个更好的方法来执行它而不是exit()。由于func1的调用者可能还有其他操作要做,我也不想阻止它们,我只想阻止func1的其余部分执行。

我知道我可以在func1中放一个简单的if语句来检测func2的返回值,如果它是某个值则返回,但这也有点混乱。

所以我的问题是,如何在函数内停止执行其余的调用函数?

3 个答案:

答案 0 :(得分:2)

返回一个值并检查它。

function func1()
{
    $result = func2();
    if ($result === 0) return;

    // Your func1 code here
}

function func2()
{
    if ( ... ) return 1;
    else return 0;
}

答案 1 :(得分:0)

检查返回值并不凌乱。这是标准做法。你基本上有两个选择:

  • 检查返回值。
  • 在func2中抛出异常。如果它在func1中未被捕获,它将会升高并停止在两个函数中执行。

答案 2 :(得分:0)

这绝对没有办法。

请记住:func2()可以从任何地方调用,而不仅仅是func1()。你怎么知道你正在停止func1。

无论是什么让你觉得打断调用函数会解决问题 - 再想一想,并告诉我们正确建议的大局。