2

我的问题是关于将以下内容写成单行:

header('Location: www.somesite.com');
exit(0);

PHP文档说你也可以写exit('some string');,它会输出那个字符串。我认为该header()函数只是创建了一些原始 HTTP 标头,这应该是一串文本,对吧?所以上面两行的等价物可能是:

exit(header('Location: www.somesite.com'));

我对其进行了一些测试,并且它可以正常工作(即正确退出并重定向..还没有看到任何恶作剧)。

但是,我在 google 上找不到任何关于此的信息,我也不能 100% 确定它header()会创建exit()函数期望的实际字符串。

那么这是一个很酷的技巧还是错误使用 PHP 函数,如果错误,为什么?

4

2 回答 2

2

header() 不向 exit() 函数返回任何内容 - 它发送原始 http 标头并返回类型为 void。exit() 函数不需要强制参数,所以是的,我认为你所做的会起作用:)

于 2012-08-08T02:08:41.157 回答
1

即使您可以这样做,但两行代码更具可读性和简洁性。

header('Location: www.somesite.com');
exit(0);

如果你想要一条线,你可以做一个函数。

function redirect($url) {
    header("Location: $url");
    exit(0);
}
于 2012-08-08T02:17:15.510 回答