2012-12-06 6 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

친구 "}"에 절은이 경우와 다른 경우 – 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) { 

라인이 경우의 "WRONG"부분을 표시인가? elseif의 일부입니까? 둘 다? 양자 모두?

+0

확인 사이에서 반향 할 수없는 경우가 ...이 나던 나에게 너무 많은 의미를 닫지 않았다. 이 일을하는 올바른 방법은 무엇입니까? 조건이 충족되면 WRONG으로 표시된 줄을 실행해야합니다. 그렇지 않으면 다른 에코를 실행합니다. – Sasha

3

당신은