获取“活动”页面以设置导航选项卡

时间:2010-08-11 19:56:12

标签: php arrays

我希望能够提取文件的名称和我当前正在使用的网址,设置两个变量(文件名,文件夹),并针对数组进行检查。根据值的不同,我们将“活动”类设置为<李>显示该页面是该部分的一部分。

我之前从未真正使用过数组,但我做了一些研究,认为他们是最合乎逻辑的方法。我设置了一个包含文件夹名称的数组,以及应该在那里的页面

$navPages = array ( "band" => array ("biography","index"),
                    "music" => array ("discography","lyrics","meanings",),
                    "site" => array ("about","team")
                  );

所以上面,文件夹/ band /应该有tradition.php和index.php。所以现在,我需要一种方法来查看该数组并进行匹配,这样如果我访问“site.com/band/biography.php”,我就可以检查数组并说“是的,你”请点击此页面。现在将“有效”课程应用于“乐队”< LI>。

到目前为止,我可以获取文件名

$page = basename($_SERVER['PHP_SELF'], ".php");

现在,我无法弄清楚如何检查每个数组以查看我是否在正确的页面中。我试过了

if(in_array($page, $navPages[band])) {
   $class = 'active';
}

这很有效,但我认为必须有办法同时检查所有3个阵列,'乐队','音乐','网站'。所以我想看看文件名是否在数组中,但我还需要确保它在正确的位置。例如,index.php可以在任何文件夹中,如果index.php在'band'数组中,我只想要一个真实的语句,而不仅仅是整个$ navPages数组。

有人可以帮我解决这个问题吗?我试着尽可能详细,让我知道是否有我遗漏的东西。

此外,这是我第一次尝试这样的导航部分。所以,如果你发现我错过了一些关于我需要做什么工作的逻辑,那么任何提示都将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:0)

请勿指定键band

if(in_array($page, $navPages)) {
   $class = 'active';
}

这将查找整个数组中的当前页面,如果是,则条件将该类设置为当前。