PHP的exit函数和return终止处理有什么区别?

当发生错误并且必须终止处理时,我应该使用哪个,exit或return?

两者似乎都没有任何变化地完成了这个过程。

本来也不是特别在意区别,不过最近有机会用到,于是查了一下区别。

PHP的exit函数和return终止处理有什么区别?

简单地说

  • exit:在被调用的地方退出

  • return:将返回值返回给调用函数,并在调用函数内终止

似乎还有更严格的区别,这次就这样记住吧。

当我实际运行代码时,我得到以下结果:

因为结束时间不同,执行结果也有差异。

function endTest(){
	print "在end函数中。\n";
	exit;
}

//-----------main-------------
endTest();
print "在main函数中。\n";

执行结果

在end函数中

由于 exit 立即结束,因此不会执行 main 中的 endTest() 。

function endTest(){
	print "在end函数中。\n";
	return;
}

//-----------main-------------
endTest();
print "在main函数中。\n";

执行结果

在end函数中。
在main函数中。

可以看到return 在 endTest() 之后执行。

那么,应该如何区分使用呢?

关键在于结束处理前是否需要结束准备。

最简单的是

main函数中包含exit,对其他函数进行return,返回main函数后结束处理。

return并不是马上就能结束的,所以要在返回时做好充分的准备。

如果结束的话即使发生了错误也可以放心。

最后编辑于:2023/03/22作者: 烽烟无限