我的问题是将以下内容写成一行:
header('Location: www.somesite.com');
exit(0);
PHP文档说您也可以编写exit('some string');
并输出该字符串。我认为header()
函数只是创建一些原始的HTTP标头,这应该是一串文本吗?所以上述两行的等价物可以是:
exit(header('Location: www.somesite.com'));
我测试了一下它的工作原理(即退出正确并重定向..还没有看到任何shennenigans正在进行)。
但是,我在google上找不到任何关于此内容的信息,我并非100%确定header()
创建了exit()
函数所需的实际字符串。
这是一个很酷的技巧或错误使用PHP函数,如果错误,为什么?
答案 0 :(得分:2)
header()不会向exit()函数返回任何内容 - 它会发送原始的http标头并返回类型为void。 exit()函数不需要强制参数,所以我认为你的工作会起作用:)
答案 1 :(得分:1)
即使您可以这样做,但两行代码更易读和干净。
header('Location: www.somesite.com');
exit(0);
如果你想要一行,你可以创建一个函数。
function redirect($url) {
header("Location: $url");
exit(0);
}