PHP重定向后代码是否中断?

PHP重定向后代码是否中断?,php,function,redirect,Php,Function,Redirect,我有一个非常基本的问题。。。在php函数中,如果值返回FALSE,我将重定向,否则继续代码 flibbertigibbet() { $value = true_or_false(); if ($value == FALSE) { //redirect to another controller method } //the rest of the code } 重定向后会发生什么?如果说..,代码是否中断或执行了一点。。重定向需要更长的时间才能加

我有一个非常基本的问题。。。在php函数中,如果值返回FALSE,我将重定向,否则继续代码

flibbertigibbet()
{
   $value = true_or_false();

   if ($value == FALSE)
   {
       //redirect to another controller method
   }

   //the rest of the code
}
重定向后会发生什么?如果说..,代码是否中断或执行了一点。。重定向需要更长的时间才能加载


在重定向后使用
exit()
是否是一种良好的做法?

代码将继续执行-不仅是在重定向需要更长时间时,而且每次都会执行到结束

是否使用
exit()
取决于是否要执行其余代码。您可以设置一个
头()
并发送一个新地址,但之后仍然可以执行一些操作,比如更新数据库或其他一些位


我通常认为最好完成所有需要的更新,并在页面末尾发送
标题()
,这样调试就更容易、更直观了。

仅仅设置重定向标题本身并没有任何作用。设置位置标题后始终
退出
死亡
(除非您确切知道自己在做什么)

这取决于重定向的含义。是的,如果类似于:
标题(“位置:http://newurl.com");


否则,除非有很好的理由让它不回来(在内部循环中,您试图
包含
内容,但该内容花费的时间太长并且没有设置超时,您可以使用
退出(),然后,if条件代码运行完毕后,其余的代码将立即运行。

请参见答案。大多数人使用
foo
bar
,但
flibbertigibbet
也很好。@arxanas
foo
bar
在上一季非常流行。你确定它不会运行其余的代码吗?那个验证声明?代码仍将执行。通过发送两个
header()
命令,您可以非常轻松地测试这一点。该页将打开到第二页。