$stuff = "<tr><td>" . if (isset($_SERVER['HTTP_REFERER'])) $_SERVER['HTTP_REFERER'] . "</td>";
我收到此错误:Parse error: syntax error, unexpected T_IF in
对不起,我是新手。
$stuff = "<tr><td>" . if (isset($_SERVER['HTTP_REFERER'])) $_SERVER['HTTP_REFERER'] . "</td>";
我收到此错误:Parse error: syntax error, unexpected T_IF in
对不起,我是新手。
您不能if
在变量定义中使用语句。改用三元运算符:
$stuff = "<tr><td>" . (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '' ) . "</td>";
或者,您可以这样做:
if (!isset($_SERVER['HTTP_REFERER'])) {
$_SERVER['HTTP_REFERER'] = '';
}
$stuff = "<tr><td>" . $_SERVER['HTTP_REFERER'] . "</td>";
使用三元运算符可以将多行代码压缩为一行,但会牺牲一些可读性。在这种情况下,使用三元运算符是有意义的。请参阅此处的文档。
使用三元运算符:
$stuff = "<tr><td>" . (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : "") . "</td>";
您正在寻找if
运营商。它看起来像这样: ,如果为真,a ? b : c
则将产生,否则。b
a
c
$stuff = "<tr><td>" . (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '') . "</td>";
如您所见,它可以与其他运算符内联使用。它通常也被称为“三元”运算符,但这与调用+
“二元”运算符相同(?:
恰好是唯一常用的三元运算符)。
这不是一个好的编码风格
使用这个:
$stuff = "<tr><td>";
if (isset($_SERVER['HTTP_REFERER']))
{
$stuff .= $_SERVER['HTTP_REFERER'];
}
$stuff .= "</td>";