在echo中包含if语句

时间:2014-05-10 17:14:33

标签: php if-statement echo

我正在回复一些HTML,并希望在那里包含一个if语句,但我无法弄清楚如何处理它:

echo '<li><a href="'.$category->getURL().'" style="text-decoration: none; if ($magentoCurrentUrl = $category->getURL()){ echo color:#fff; }" >'.$category->getName().'</a> </li>';

我想使用if语句为链接添加样式。

我感谢任何帮助。谢谢。

3 个答案:

答案 0 :(得分:3)

在回声中使用三元操作(真的?&#34; dothis&#34;:&#34; doother&#34;):

echo '<li><a href="'.$category->getURL().'" style="text-decoration: none;'.($magentoCurrentUrl == $category->getURL() ? 'color:#fff;' : '').'" >'.$category->getName().'</a> </li>';

三元操作公式基本上是:

echo "something: ".(true ? "dothis" : "doother")

的等价物

if(true){echo&#34; dothis&#34;:} else {echo&#34; doother&#34 ;; }

答案 1 :(得分:0)

为了防止使用内联逻辑的巨型echo语句,我提供了一小段代码来确定style属性值在您之前的含义echo HTML。

// build style attribute value
$style = 'text-decoration: none';
if ($magentoCurrentUrl = $category->getURL()) { 
    $style = $style . '; color: #fff;'
}

// output HTML
echo '<li><a href="'.$category->getURL().'" style="$style" >'.$category->getName().'</a> </li>';

您甚至可能冒险将getStyle()方法添加到您的$category对象中。然后你得到了一些干净的代码:

echo '<li><a href="'.$category->getURL().'" style="'.$category->getStyle().'">'.$category->getName().'</a> </li>';

答案 2 :(得分:0)

这是一种干净的方式。如果您想使用可读的HTML代码传递echo,请在$variables语句中使用双引号。

if ($magentoCurrentUrl = $category->getURL())
{ 
$color="color:#fff";
 }
 else {
 $color=" ";
 }
echo "<li><a href='$category->getURL()' style='text-decoration: none;$color' >$category->getName()</a> </li>";