在php中使用foreach循环时显示所有列表项

时间:2015-05-19 18:10:31

标签: php html arrays foreach navbar

我需要一些帮助来创建一个foreach循环,它将显示包含三个项目的数组中的每个数组项。目前,我的代码正确显示了第一个和最后一个项目;但是,它不会显示第二项。

循环将用于从数组中的项生成导航栏。

这是我的PHP代码:

<ul>
<?php
    $navOptions = array('home','services','contact');

    foreach($navOptions AS $navOption) {
        if ($navOption == $currentPage) {
            echo '<li><a href ="' . $navOption . '.php class="current">' . ucfirst($navOption) . '</li></a>';
        } else {
            echo '<li><a href="' . $navOption . '.php>' . ucfirst($navOption) . '</li></a';
        }

    }
?>
</ul>

此代码生成如下链接列表:

  • 主页
  • 联系

然而,它并没有产生&#34;服务&#34;列表项目。

附注:$ currentPage变量在每个单独的html页面上声明为全局变量,即在index.php,services.php,contact.php中。

1 个答案:

答案 0 :(得分:1)

您缺少一些双引号,而结束&gt; else语句,应该如下:

$navOptions = array('home','services','contact');

    foreach($navOptions AS $navOption) {
        if ($navOption == $currentPage) {
            echo '<li><a href="' . $navOption . '.php" class="current">' . ucfirst($navOption) . '</li></a>';
        } else {
            echo '<li><a href="' . $navOption . '.php">' . ucfirst($navOption) . '</li></a>';
        }

    }