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

2024-11-24 109阅读 0评论

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

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

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

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

简单地说

  • 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并不是马上就能结束的,所以要在返回时做好充分的准备。

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

文章版权声明:除非注明,否则均为JXLOG原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
验证码
评论列表 (暂无评论,109人围观)

还没有评论,来说两句吧...

取消
微信二维码
微信二维码
支付宝二维码