2012-11-26 63 views
3

我想在回声的中间连接来写if语句,这可能吗?这是我的。PHP - 连接if语句?

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

你想[三元](http://php.net/manual/en/language.operators.comparison.php)。 '回声“

  • Home
  • ”;' –

    +0

    为什么我被拒绝了?...这个问题怎么样界定? –

    +0

    我没有这样做,但我想这是因为这是你可以通过谷歌搜索找到答案。 – Popnoodles

    回答

    10

    与此类似,使用ternary operator

    echo "<li class='". (($_GET["p"] == "home") ? "active" : "") . "'><a href='#'>Home</a>  </li>"; 
    
    3

    这样做:

    echo "<li class='".($_GET["p"] == "home" ? 'active' : '') ."'><a href='#'>Home</a>  </li>"; 
    
    3
    echo "<li class='".(($_GET["p"] == "home") ? "active" : "")."'><a href='#'>Home</a>  </li>"; 
    
    1

    而是凌乱内嵌级联的,可能我建议得到舒适与printf()

    $format = '<li class="%s"><a href="#">Home</a>  </li>'; 
    printf($format, ($_GET['p'] == 'home') ? 'active' : '');