PHP - 停止调用函数的执行[关闭]
Posted
技术标签:
【中文标题】PHP - 停止调用函数的执行[关闭]【英文标题】:PHP - Stopping the execution of the calling function [closed] 【发布时间】:2013-10-14 20:41:30 【问题描述】:这有点难以解释,但我会尽力而为。
这类似于我当前正在运行的代码。
function func1()
func2()
function func2()
exit();
我需要能够从 func2 中停止 func1 的执行,但我需要一个比 exit() 更好的方法来完成它。由于 func1 的调用者可能有其他操作要做,我也不想停止它们,我只想停止 func1 的其余部分执行。
我知道我可以在 func1 中放一个简单的 if 语句来检测 func2 的返回值,如果是某个值则返回,但这也有点乱。
所以我的问题是,我怎样才能从函数中停止执行调用者函数的其余部分?
【问题讨论】:
【参考方案1】:返回一个值并检查它。
function func1()
$result = func2();
if ($result === 0) return;
// Your func1 code here
function func2()
if ( ... ) return 1;
else return 0;
【讨论】:
不,这不被认为是杂乱无章的......函数应该是这样工作的。【参考方案2】:检查返回值并不麻烦。这是标准做法。你基本上有两种选择:
检查返回值。 在 func2 中引发异常。如果它在 func1 中未被捕获,它将冒泡更高并停止在两个函数中执行。【讨论】:
【参考方案3】:这绝对不可能。
记住:func2()
可以从任何地方调用,而不仅仅是func1()
。你怎么知道你正在停止的是 func1。
无论是什么让您认为中断调用函数可以解决问题 - 再想一想,并告诉我们更大的图景以获得适当的建议。
【讨论】:
以上是关于PHP - 停止调用函数的执行[关闭]的主要内容,如果未能解决你的问题,请参考以下文章