【问题标题】:exit(); die(); return false; [duplicate]出口();死();返回假; [复制]
【发布时间】:2012-01-19 09:58:56
【问题描述】:

可能重复:
what are the differences in die() and exit() in PHP?

我想主要问题是这 3 之间到底有什么区别?

每一种的正确语义用法是什么?

据我所见,return false; 可以终止一个函数,而die();exit(); 将阻止任何进一步的代码运行

这对吗?

【问题讨论】:

  • 是的,你说得对。 return 用于函数,die()/exit() 杀死脚本执行。
  • 不,不包括返回 :))
  • @Gigi:我建议关闭另一个,因为这个问题的副本稍微更广泛(因为它还包括返回)。

标签: php


【解决方案1】:

die()exit() 完全相同;他们停止整个 PHP 程序并返回操作系统。它们是同一个函数的两个不同名称。

return,另一方面,结束函数调用并返回给调用者。在程序结束时,return 设置返回给操作系统的状态值;无论如何,程序都会退出。

【讨论】:

  • 那么需要两个功能完全相同的功能,这一定是有原因的。
  • 只是“语法糖”。 Perl 有die(),许多其他语言都有exit(),所以我想,通过两者兼有,PHP 试图让语言之间的转换更容易。
  • @Brogrammer 不完全是。至少不是一个重要的原因。这可能是一些兼容性问题、遗留问题等。无论是什么原因,都无所谓。
  • 它们确实不是两个函数,die 只是exit 的别名
  • 不正确。 die()exit() 相同,但反之则不然。您可以为exit() 传递一个参数:exit(status code number)exit(string status),它从 PHP 传递到 OS 或其他任何东西。
【解决方案2】:

根据文档PHP: exit Manual die()exit() 的别名,所以它们执行相同的功能,即结束脚本。

return 语句结束一个函数而不是整个脚本,并返回您选择的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-01
    • 1970-01-01
    • 2023-03-03
    • 2011-01-02
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    相关资源
    最近更新 更多