-1

我在弄清楚这一点时遇到了一点问题:

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 ...

任何帮助解决这个问题表示赞赏!

亚历克斯

4

3 回答 3

3

你没有用“}”关闭你的 if 子句

于 2012-12-06T01:37:41.273 回答
2

if你在你的结尾和你的elseif...... 之间插入了一个声明

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

标有“错误”的行是 if 的一部分吗?elseif 的一部分?两者都不?两个都?

于 2012-12-06T01:33:58.087 回答
1
             if ((curPageName() == $url) && (curPageName() !== $index)) {
                $class='current';
 /*--->*/       echo "<li><a href='$url' class='$class'>$name</a></li>";  
            }

            elseif (curPageName() == $index) {
                $class='current home';
            }
于 2012-12-06T01:32:42.120 回答