在三元速记中使用php header redirect?

时间:2013-01-30 10:00:09

标签: php header shorthand

我想知道是否可以复制:

if ($a = 1) {
    header('Location: http://google.com');
    exit;
} else {
    header('Location http://yahoo.com');
    exit;
}

用短手?也许...

$a = 1 ? header('Location: http://google.com') : header('Location http://yahoo.com');
exit;

这似乎不起作用,这意味着我总是被重定向到谷歌。 =(

4 个答案:

答案 0 :(得分:2)

if ($a = 1) {

应该是

if ($a == 1) {

$a = 1 ? 

应该是

$a == 1 ? 

答案 1 :(得分:0)

试试这个:

header ( 'Location: ' . ( $a == 1 ? 'http://google.com' : 'http://yahoo.com' ) );

请注意$a = 1是一项作业,并始终评估为true。您需要==才能实现比较。

答案 2 :(得分:0)

$location= $a == 1 ? "http://google.com" : "http://yahoo.com";
header("Location: $location");

同样=是赋值运算符而不是比较运算符。这应该是=====

答案 3 :(得分:0)

我会保持原样。

这里使用三元组的可读性非常糟糕 - 对于继承代码的新程序员来说,哪个代码块更容易理解?