首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“死”和“退出”的区别

问“死”和“退出”的区别
EN

Stack Overflow用户
提问于 2012-10-03 06:20:37
回答 5查看 19.6K关注 0票数 15

可能重复: PHP中的die()和PHP()有什么不同?

我完全搞不懂die和exit的区别。

大多数程序员都是这样使用die的。

代码语言:javascript
复制
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');  //don't see mysql_* problem it is just example
if (!$link) {
    die('Could not connect: ' . mysql_error());
}

像这样使用exit

代码语言:javascript
复制
$filename = '/path/to/data-file';
$file = fopen($filename, 'r')
   or exit("unable to open file ($filename)");

根据那里的功能,我不认为有什么不同,因为两者都终止了脚本的执行。

我的问题是

1)在这些例子中,我是否可以将模具与出口互换,反之亦然? 2)以及两者之间的差异。

干杯..。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-10-03 06:21:45

根据下模的说法,这相当于退出。所以是的,你可以交换它们。

票数 17
EN

Stack Overflow用户

发布于 2012-10-03 06:38:16

当使用命令行时,

代码语言:javascript
复制
die("Error");

将打印到“错误”到STDOUT,并使用错误代码0退出。

如果要使用错误代码1退出,则必须:

代码语言:javascript
复制
fwrite(STDERR, "Error");
exit(1);

在从命令行或shell脚本执行php脚本时,它可能很有用,您希望查看脚本是否以非零退出代码结束。

这是我能想到的一个不同之处。

P.S.以上信息来自php.net/exit

票数 13
EN

Stack Overflow用户

发布于 2012-10-03 06:35:22

die()函数和exit()函数之间没有区别。他们都是一样的,工作也一样。

同样的问题是,如果这两个函数是相同的,那么php为什么保留它们。这两个函数都是彼此函数的别名。

由于API和保持向后兼容性,两个函数都保持不变。

这里还有一个例子:

is_int()和is_integer()也是一样的。

PHP中有很多函数,您可以使用多个名称调用这些函数。在某些情况下,在多个名称中没有首选名称,例如,is_int()和is_integer()同样好。但是,有些函数由于API清理或其他原因而更改名称,旧名称仅作为别名保存,以实现向后兼容性。使用这类别名通常是个坏主意,因为它们可能会被淘汰或重命名,这将导致不可移植的脚本。提供此列表是为了帮助那些想要将旧脚本升级到更新语法的人。

您可以在以下URL上找到别名函数的完整列表:

http://php.net/manual/en/aliases.php

愿这对你有帮助:)

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12702875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档