Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 头函数中有exit()和没有exit()有什么区别?_Php - Fatal编程技术网

Php 头函数中有exit()和没有exit()有什么区别?

Php 头函数中有exit()和没有exit()有什么区别?,php,Php,可能重复: 我不知道如何命名这个问题,但它来了 以下两段代码之间的区别是什么: 脚本1-不带退出(): 脚本2-使用exit(): 据我所知,header()退出当前页面,如果条件为真,则跳转到另一页面,因此在header()之后使用exit()是毫无意义的-我说得对吗?否。我假设if($var=true)应该读取if($var=true),甚至只是if($var) header函数将数据添加到HTTP头。如果在上面的If语句之后没有任何内容,则两者都是相同的。但是如果在If语句之后有代码,则

可能重复:

我不知道如何命名这个问题,但它来了

以下两段代码之间的区别是什么:

脚本1-不带退出():

脚本2-使用
exit()


据我所知,
header()
退出当前页面,如果条件为真,则跳转到另一页面,因此在
header()之后使用
exit()
是毫无意义的-我说得对吗?

否。我假设
if($var=true)
应该读取
if($var=true)
,甚至只是
if($var)


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

头()
函数只向浏览器发送一个标题以及页面的其余部分,通知浏览器重定向。如果不希望脚本继续运行,则应执行
exit()

在某些情况下,您可能希望脚本继续运行 当然,这也取决于脚本。您可能会跟踪 页面点击或其他什么,您可能需要将代码插入到 数据库包含在每个页面的底部。如果您希望跟踪 如果在重定向之前点击,则您不想提前退出


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

@Dagon您介意解释更多原因吗?谢谢
if($var = true){
header('Location: anotherpage.php');
}
if($var = true){
header('Location: anotherpage.php');
exit();
}