0

我想根据值是否与某个值匹配来更改链接地址。但我返回一个语法错误。我需要改变什么?我得到的错误是语法错误,意外的 T_IF

echo "<a href='".if($type=='group'){echo'link_a';}else{echo 'link_b';}."'>".$usaname."</a>
4

7 回答 7

4

尝试这个

$link = ($type=='group') ? 'link_a' : 'link_b';

echo "<a href='".$link."'>".$usaname."</a>
于 2012-05-04T17:00:11.393 回答
3

您不能在超链接或您正在打印的任何文本中使用 if 语句。相反,您应该拥有这样的代码,将条件(和其他)函数保留在打印 html 的位置之外。

if ($type == "group"){ $link = "link_a"; } else { $link = "link_b"; }
echo "<a href='$link'>$usaname</a>
于 2012-05-04T17:01:43.587 回答
2
echo "<a href='". $type=='group' ? 'link_a' : 'link_b';."'>".$usaname."</a>
于 2012-05-04T17:01:26.900 回答
1

使用三元运算符

echo "<a href='". ($type == 'group' ? 'link_a' : 'link_b') ."'>" . $username ."</a>";
于 2012-05-04T17:08:08.780 回答
1

在这种情况下,三元运算符很方便。

echo "<a href='" . ($type == 'group' ? 'link_a' : 'link_b') . "'>" . $usaname . "</a>";
于 2012-05-04T17:01:59.253 回答
1

你应该这样做:

echo "<a href=\"" . ($type == "group") ? "link_a" : "link_b" . "\"></a>

这可能是我能找到的最短和最干净的方式。

于 2012-05-04T17:02:09.430 回答
0

试试三元...

echo '<a href="', htmlspecialchars(($type==='group') ? 'link_a' : 'link_b'), '">', htmlspecialchars($usaname), '</a>';

这应该会简化一些事情。此外,最好使用它,htmlspecialchars()以便您拥有有效的 HTML。

于 2012-05-04T17:00:54.053 回答