在标头函数中拥有 exit() 和没有 Exit() 有什么区别

  • 本文关键字:Exit 区别 拥有 exit 函数 php
  • 更新时间 :
  • 英文 :


可能的重复项:
php - 我应该在调用 Location: header之后调用 exit() 吗?

我不知道如何为这个问题命名,但它就在这里。

以下两个代码片段有什么区别:

脚本 1 - 不带exit()

if($var = true){
header('Location: anotherpage.php');
}

脚本 2 - 带exit()

if($var = true){
header('Location: anotherpage.php');
exit();
}

据我了解,如果条件为真,header()退出当前页面并跳转到另一页,因此在header()之后exit()毫无意义 - 我说得对吗?

header()函数只是将一个标头与页面的其余部分一起发送到浏览器,告诉浏览器重定向。如果您不希望脚本继续运行,则应执行exit()

在某些情况下,您可能希望脚本继续运行 虽然也是如此,取决于脚本。您可能正在跟踪 页面点击或其他内容,您可能有代码将其插入到 数据库包含在每页的底部。如果您希望它跟踪 重定向之前的命中,那么您不想早exit

在大多数情况下,您确实想要exit,因为在这种情况下您不太可能希望向浏览器输出任何内容,并且额外的代码只会减慢您的重定向速度。

No.我假设if ($var = true)应该读if ($var == true),甚至只是if ($var)

header函数将数据添加到 HTTP 标头。如果您在上面的if语句之后没有任何内容,那么两者都是相同的。但是,如果您在 if 语句之后有代码,则将执行代码 - 这是您不希望发生的事情。

最新更新