7

我想在回声中间连接写一个 if 语句,这可能吗?这就是我所拥有的。

echo "<li class='".if ($_GET["p"] == "home") { echo "active"; }."'><a href='#'>Home</a>        </li>";
4

4 回答 4

17

像这样,使用三元运算符

echo "<li class='". (($_GET["p"] == "home") ? "active" : "") . "'><a href='#'>Home</a>        </li>";  
于 2012-11-26T19:58:09.030 回答
4
echo "<li class='".(($_GET["p"] == "home") ? "active" : "")."'><a href='#'>Home</a>        </li>";
于 2012-11-26T19:58:11.667 回答
3

这样做:

echo "<li class='".($_GET["p"] == "home" ? 'active' : '') ."'><a href='#'>Home</a>        </li>";
于 2012-11-26T19:58:06.990 回答
3

我可以建议不要使用凌乱的内联串联,而是要舒适printf()吗?

$format = '<li class="%s"><a href="#">Home</a>        </li>';
printf($format, ($_GET['p'] == 'home') ? 'active' : '');
于 2012-11-26T20:16:04.803 回答