2012-12-06 39 views
-1

我在搞清楚了這一點有一個小問題:意外T_ELSEIF在

function myMenu() //Creates a menu with a class current to the current page item 
{ 
    $menuItems = array (
     "Strona Głowna" => "index.php", 
     "O nas" => "o-nas.php", 
     "Oferta" => "oferta.php", 
     "Polecane kierunki" => "polecane-kierunki.php", 
     "kontakt" => "kontakt.php", 
    ); 
    foreach($menuItems as $name => $url) { 
     $class = 'default'; 
     $index = 'index.php'; 
      if ((curPageName() == $url) && (curPageName() !== $index)) { 
       $class='current'; 
      } 
      echo "<li><a href='$url' class='$class'>$name</a></li>"; 
      elseif (curPageName() == $index) { 
       $class='current home'; 
      } 
      echo "<li><a href='$url' class='$class'>$name</a></li>"; 
     }; 
}; 

基本上我想「當前家」僅分配給在index.php。 也許你可以得到更好的解決方案,我是一個新手。無論如何,這給了我:

PHP Parse error: syntax error, unexpected T_ELSEIF in ... 

任何幫助整理出來讚賞!

亞歷

+1

花花公子條款你不能這樣做呼應if和else if – pregmatch

回答

1
   if ((curPageName() == $url) && (curPageName() !== $index)) { 
       $class='current'; 
/*--->*/  echo "<li><a href='$url' class='$class'>$name</a></li>"; 
      } 

      elseif (curPageName() == $index) { 
       $class='current home'; 
      } 
2

您插入您的if結束之間的語句您elseif ...

if ((curPageName() == $url) && (curPageName() !== $index)) { 
      $class='current'; 
     } 
     echo "<li><a href='$url' class='$class'>$name</a></li>"; <====== WRONG 
     elseif (curPageName() == $index) { 

是線條爲標誌,如果在的「錯誤」的一部分? elseif的一部分?都不是?都?

+0

好吧之間......這並不什麼太大的意義了我。這樣做的正確方法是什麼?如果符合條件,則應執行標記爲「錯誤」的線條,如果不符合,執行其他回聲...... – Sasha

3

你沒有關閉,如果用「}」