PHP:在使用 foreach 循环创建的导航栏中有一个 class="active" 的项目

我有一个包含导航栏项目的数组


pagearray.php :


<?php

$pages = array(

        array(

        "slug" => "/php/site1.php",

        "title" => 'Site One',

    ),

        array(

        "slug" => "/php/site2.php",

        "title" => 'Site Two',

    ),

        array(

        "slug" => "/php/site2.php",

        "title" => 'Site Three',

    ),

)

?>

我正在尝试使用 foreach 循环构建一个导航栏,您所在的页面将具有 .active 类。


导航栏.php


<?php 

include "/includes/pagearray.php";


    foreach ($pages as $page) {

        echo "<li><a href=\"$page[slug]\">$page[title] </a></li>";

    }

?>

这甚至可以通过仅使用 HTML、CSS 和 PHP 来实现吗?我是否使用了错误的技术来构建导航栏?


智慧大石
浏览 81回答 1
1回答

12345678_0001

这是您的新 navbar.php - 这应该可以工作。这会将active类添加到链接(<a>元素)<?phpinclude "/includes/pagearray.php";foreach ($pages as $page) {&nbsp; &nbsp; echo '<li><a href="' . $page['slug'] . '" class="' . ((strpos($_SERVER['REQUEST_URI'], $page['slug'])) ? "active" : "") . '">' . $page['title'] . '</a></li>';}
打开App,查看更多内容
随时随地看视频慕课网APP