Php 与x27之间的差异;模具';和';退出';
可能重复:Php 与x27之间的差异;模具';和';退出';,php,exit,die,Php,Exit,Die,可能重复: 我完全搞不清楚die和exit的区别 大多数程序员都这样使用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()); } 然后像这样使用exit $filename = '/pa
我完全搞不清楚
die
和exit
的区别
大多数程序员都这样使用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());
}
然后像这样使用exit
$filename = '/path/to/data-file';
$file = fopen($filename, 'r')
or exit("unable to open file ($filename)");
根据它们的功能,我认为没有任何区别,因为两者都终止了脚本的执行
我的问题是
1) 在这些示例中,我可以将die与exit互换,反之亦然吗
2) 以及两者之间的区别
干杯…根据它相当于退出。是的,您可以交换它们。
die
是exit
函数的别名
php中有许多函数别名,这是由于该语言是如何演变、演变和克服的-。die()和exit()函数之间没有区别。他们都是一样的,工作也一样 同样的问题是,如果两个函数相同,为什么php会保留它们。这两个函数都是其他函数的别名 由于API和保持向后兼容性,这两个函数都保持不变 这里还有一个例子: is_int()和is_integer()也是相同的 PHP中有很多函数可以使用多个名称调用。在某些情况下,在多个名称中没有首选名称,例如is_int()和is_integer()同样好。但是,有些函数由于API清理或其他原因更改了名称,旧名称仅作为别名保留,以实现向后兼容性。使用这类别名通常不是一个好主意,因为它们可能会过时或重命名,这将导致不可移植的脚本。提供此列表是为了帮助那些希望将旧脚本升级到新语法的人 您将在以下URL上找到别名函数的完整列表:
这可能会帮助您:)在使用命令行时
die("Error");
将打印到“Error”(错误)到标准输出STDOUT
,并以错误代码0
退出
如果要退出时出现错误代码1
,您必须:
fwrite(STDERR, "Error");
exit(1);
当从命令行或shell脚本执行php脚本时,它可能很有用,您需要查看脚本是否以非零退出代码终止
这是我能想到的一个区别
另外,从php.net/exit获得的上述信息将参数打印到STDOUT,而不是STDERR(grep或2>/dev/null将帮助您测试它) die返回外壳退出代码为0,但exit可以返回其他代码 让我们在PHP中定义全模模拟:
function mydie($str){
echo $str.PHP_EOL;
exit(0);
}
正如@AdamPlocher所说,它们是一体的。用一个你最喜欢的巫婆。实际上我只见过他们用其他方式。。。“或死(…)”等:)但正如前面所说,没有什么区别mysql函数将被弃用,请使用PDO或mysqli;谢谢你的回答。但是你能告诉我为什么
PHP
lang。开发人员创建了这两个函数。我们可以在任何地方使用exit
home@YogeshSutharPHP中充满了这样的别名。有些是计划好的,但我敢说大部分不是。它只是随着时间的推移而不断发展和变化,有些想法比其他想法更糟糕。die
alias也会产生有趣的代码行,比如compliance()或die()代码>@darvids0n进入龙()或退出()代码>;)+1用于查找至少1个差异。这两个函数之间仍然没有差异。只是人们通常使用带有消息的die
,以及带有退出代码的exit
。+1表示ThiefMaster。您可以将最后一行更改为die(1)代码>不更改行为。如果您引用的是不推荐使用的别名,请提供示例。