我相信所有这些(甚至die()
或者die(0)
)都是相同的.如果它们不相同,哪个成功退出脚本?如果它们相同,是否有任何首选标准表示脚本成功完成?我倾向于使用exit;
.
编辑:即使我在我的问题中说,所有的答案都" die()
和exit()
相同".我更新了标题,希望更清楚,这不是我的问题.我想从命令行脚本中清楚地表明成功.
Age*_*rum 64
这些都是相同的.我很确定die()
它只是一个直接的别名exit()
,但即使它不是,它仍然行为相同.
当其中一个函数被赋予字符串参数时,它会在终止进程之前打印出该字符串.当遇到255以下的整数时,该整数被视为进程的返回代码,该代码将被传递回调用PHP脚本的进程.这在编写命令行应用程序时非常有用(PHP不是仅限Web的!).
至于之间的差异exit
,exit()
和exit(0)
,真的是没有的.前两个之间肯定没有区别,因为exit
从技术上讲,它是一种语言结构,而不是一个函数,所以可以使用或不使用括号来调用它,就像它一样echo
.返回代码0
意味着"这个程序成功运行/没有错误",虽然我不知道当你没有传递参数时究竟发生了什么,但是PHP.net说没有参数exit
表示成功,所以我敢打赌它返回0
,但PHP.net再次没有显示参数的默认值.
我会说,关于更好的语义die($arg);
应该用于异常或意外终止,即使当然 - 当然 - 你仍然抓住了它.并且exit($arg);
应该被用于正常的(预期/控制)的过程的结束,如在break;
一个for
或while
或一switch
结构,但与最终结束.
然而..我个人经常使用一般if { } else { }
结构来控制巨大进程的不同分支或输出缓冲,所以不必使用"退出"..
我也使用die($arg)
像in中那样的简单错误捕获语义
$db = mysql_connect([$args]) or die ($error);
...
归档时间: |
|
查看次数: |
76102 次 |
最近记录: |