使用foreach循环从数组创建链接

时间:2015-05-19 19:49:52

标签: php html arrays navbar

请帮助我使用php foreach循环创建链接,该循环遍历包含网页导航栏链接名称的数组。

目前我的循环会创建链接,但是当您点击错误404页面并显示在网址中时(例如,点击"博客"):

...homebrew-actual/blog.php>Blog <a></li><li><a href=" 

我想要网址:

... homebrew-actual/blog.php

没有html标签。

这是我当前的PHP循环:

      <nav>
            <ul>
                <?php
                    $navOptions = array('index', 'showcase','about','blog','contact','forums');

                    foreach($navOptions AS $navOption) {
                        if ($navOption == $currentPage) {
                            print '<li>' . '<a href="/homebrew-actual/' . $navOption . '.php'. 'class="current">' . ucfirst($navOption) . '</a></li>';
                        } else {
                            echo '<li>' . '<a href="/homebrew-actual/' . $navOption . '.php>' . ucfirst($navOption) . '</a></li>';
                        }
                    }
                ?>              
                <li class="special"><a href="shop.php" title="buy">Shop</a></li>
            </ul>
       </nav>

请帮我识别一个解决方案,使用带有链接名称的数组为导航栏创建链接,并使用for循环链接到这些页面。

感谢您查看此问题。

1 个答案:

答案 0 :(得分:2)

您忘记了"

 print '<li>' . '<a href="/homebrew-actual/' . $navOption . '.php'. 'class="current">' . ucfirst($navOption) . '</a></li>';
                         ^--start href                           ^---end of href, missing "

由于您从不关闭href字符串,因此最终会出现损坏的HTML。