1

我想知道是否可以复制:

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

4 回答 4

2
if ($a = 1) {

它应该是

if ($a == 1) {

$a = 1 ? 

应该

$a == 1 ? 
于 2013-01-30T10:01:13.380 回答
0

我会保持原样。

在这里使用三元组对于可读性来说是很糟糕的——对于继承你的代码的新程序员来说,哪个代码块会更容易和更快地理解?

于 2013-01-30T10:03:18.667 回答
0

尝试这个:

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

请注意,这$a = 1是一个分配,并且总是评估为true。你需要==实现比较。

于 2013-01-30T10:01:51.010 回答
0
$location= $a == 1 ? "http://google.com" : "http://yahoo.com";
header("Location: $location");

赋值=运算符也不是比较运算符。那应该是=====

于 2013-01-30T10:01:59.320 回答