PHP中的die()函数和exit()函数有什么区别?
我认为两者具有相同的功能,但我怀疑两者之间有什么不同……是什么?
PHP中的die()函数和exit()函数有什么区别?
我认为两者具有相同的功能,但我怀疑两者之间有什么不同……是什么?
当前回答
PHP模具手册:
die -相当于退出
你甚至可以死去;与退出的方式相同;-有或没有paren。
选择die()而不是exit()的唯一好处可能是你可以节省输入一个额外的字母的时间;-)
其他回答
这个页面说die是一个退出,所以它们是相同的。但也解释了:
有些函数因为API清理或其他原因更改了名称,旧的名称仅作为向后兼容的别名保留。使用这类别名通常不是一个好主意,因为它们可能会过时或重命名,这将导致不可移植的脚本。
所以,你可以说我是偏执狂,但未来可能不会有死亡。
我至少在脚本中注意到,exit()将停止当前执行的脚本,并将控制传递回任何调用脚本,而die将停止php的运行。我想说这是一个很大的不同?
在功能方面,它们是相同的,但我在以下场景中使用它们以使代码可读:
当出现错误并必须停止执行时使用die()。
如。 死亡(“哦!出问题了’);
当没有错误并且必须停止执行时,使用exit()。
如。 exit('请求已成功处理!”);
如前所述,这两个命令产生相同的解析器令牌。
BUT
有一个很小的区别,那就是解析器返回令牌所需的时间。
我还没有研究过PHP解析器,但是如果它是一个以“d”开头的长列表,以及一个以“e”开头的短列表,那么查找以“e”开头的函数名必须花费一定的时间。由于整个函数名的检查方式不同,可能会有其他差异。
除非您有一个专门用于解析PHP的“完美”环境,以及大量具有不同参数的请求,否则我怀疑它是无法测量的。 但肯定有区别,毕竟PHP是一种解释性语言。
没有区别,它们是一样的。
PHP退出手册:
注意:这个语言结构相当于die()。
PHP模具手册:
这个语言结构相当于exit()。