0

Web サイトのナビゲーション バーを作成しようとしています。さまざまなページを表示するには、foreach ループを使用する必要があります。ただし、それらを表示しようとすると、ページがリンクされず、間違ったテキストが表示されます。コードは次のとおりです。

<?php
//Main Navigation Function
function main_nav(){
$nav_sections = array("home"=>"","products"=>"products/","services"=>"services/",
                     "about"=>"about/", "contact"=>"contact/");
$output = "<UL>";
$i=0;

foreach($nav_sections as $nav){
    $output .= "<LI><A href=" . URL_ROOT . $nav . "></A>" . $nav . "</LI>";


}
 echo $output;
}
?>

URL_ROOT は、ルート URL を与えるために定義された定数ですが、テキストを介してページをリンクしていません。これは、サイトが現在表示しているものです: http://tomcat.cit.iupui.edu/gaddough/cit21500/assignment4/

4

1 に答える 1

1

キーと値のペアとして配列を (正しく) 設定しました。つまり、そのようにループする必要があります。

foreach($nav_sections as $title => $link) {
    $output .= "<li><a href=" . URL_ROOT . $link . ">" . ucfirst($title) . "</a></li>" . PHP_EOL;
}

ucfirst()単語または文の最初の文字を大文字にします。

さらに、現在のループでは、テキストを割り当てずにアンカー (リンク) を開いたり閉じたりします (つまり、<a href...></a>.

最後のポイント:またはタグ$outputの間のいずれかをエコーする必要があり、この特定のスニペットではカウンターは不要です。<ul><ol>$i

于 2013-10-20T01:46:02.583 に答える