'die'和'exit'的区别

  • 本文关键字:区别 die exit php exit die
  • 更新时间 :
  • 英文 :


可能的重复:
PHP中的die()和exit()有什么区别?

我对dieexit的区别感到完全困惑。

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

$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());
}

并使用类似于该的CCD_ 4

$filename = '/path/to/data-file';
$file = fopen($filename, 'r')
or exit("unable to open file ($filename)");

根据那里的功能,我认为没有任何区别,因为两者都终止了脚本的执行。

我的问题是

1)在这些例子中,我可以将die与exit互换吗?反之亦然?

2) 以及它们之间的区别。

干杯。。。

根据Die,它相当于退出。所以,是的,你可以交换它们。

使用命令行时,

die("Error");

将打印到STDOUT的"错误",并退出,返回错误代码0

如果您想退出并返回错误代码1,您必须:

fwrite(STDERR, "Error");
exit(1);

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

这是我能想到的一个区别。

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

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

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

由于API和保持向后兼容性,保留了两个函数。

这里还有一个例子:

is_int()和is_integer()也是相同的。

PHP中有很多函数可以用多个名称调用。在某些情况下,在多个名称中没有首选名称,例如is_int()和is_integer()同样好。但是,有些函数由于API清理或其他原因而更改了名称,并且为了向后兼容,旧名称仅保留为别名。使用这类别名通常是个坏主意,因为它们可能会过时或重命名,从而导致脚本无法启动。提供此列表是为了帮助那些希望将旧脚本升级为新语法的用户。

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

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

愿这对你有所帮助:)

dieexit函数的别名。

php中有许多函数别名,这是由于该语言是如何演变、演变和克服的http://www.php.net/manual/en/aliases.php.

die将参数打印到STDOUT,而不是STDERR(grep或2>/dev/null将帮助您测试它)die返回shell出口代码为0,但出口可以返回其他代码让我们在PHP中定义完全模拟:

function mydie($str){
echo $str.PHP_EOL;
exit(0);
}

最新更新