2012-11-26 89 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' : '');