我应该退出或退出我的PHP脚本;?

时间:2016-11-27 13:42:43

标签: php

今天我有一个奇怪的问题 我应该退出或退出我的PHP脚本;哪个是正确的?。

没有;

enter image description here

使用;

enter image description here

感谢。

3 个答案:

答案 0 :(得分:3)

exitexit;exit()exit();完全相同,但事实是你应结束你的脚本使用exit()调用,这只是不好的做法(但它确实有效)。

修改

澄清为什么我说它是“不好的做法”,它不是关于“退出”本身的功能,如果发生了不好的事情,可以暂停脚本执行,但“坏事”的概念确实很广泛。通常,即使发生某些不需要的情况,正常的执行流程也应该到达文件的末尾。请考虑这个例子:

...some init stuff...
if (!user_is_authenticated) {
   ...print some nasty message...
   exit();
}
...continue with normal stuff...

更好的方法是:

...some init stuff...
if (user_is_authenticated) {
   ...continue with normal stuff...
}
else {
   ...print some nasty message...
}

有什么区别?不同的是,在第二个版本中你不需要使用exit(),这意味着如果有一天你需要在“正常”和“不需要的”执行流程之后做一些事情,你可以在最后添加它。文件。

关于为什么你不应该在函数体中使用“return”,除了在函数的末尾,它或多或少是相同的论点。

答案 1 :(得分:2)

使用semicolon

总是一个好习惯
<?php

//exit program normally
exit;
exit();
exit(0);

//exit with an error code
exit(1);
exit(0376); //octal

?>

答案 2 :(得分:0)

像约翰尼说的那样,所有这四种形式的退出&#39;陈述工作。如果这两种语言结构中没有任何语句后跟exitexit(),则exit;exit();都有效。如果这两个结构后面跟着任何其他PHP语句,它就不起作用,而分号的目的是结束语句以继续下一个语句,因此你需要使用ArrayList<ArrayList<StoreItem>> myLists = new ArrayList<>(); 或{ {1}}以避免语法错误,在这种情况下,不使用分号在编码约定中被认为是一种不好的做法。