尝试使用多维数组和递归构造导航。我有以下代码:
首先,我<?php $title = 'pagename'; ?>
在 doctype 下的每个单独页面上运行(用于活动类检测)
大批:
<?php
$nav_array = array ('Home' => 'index.php',
'About' => array ( 'about.php', array (
'Michael' => array( 'michael.php', array (
'Blog' => 'blog.php',
'Portfolio' => 'portfolio.php')),
'Aaron' => 'aaron.php' ,
'Kenny' => 'kenny.php',
'David'=> 'david.php')),
'Services' => array ( 'services.php', array (
'Get Noticed' => 'getnoticed.php',
'Hosting' => 'hosting.php')),
'Clients' => 'clients.php',
'Contact Us' => 'contact.php'
);
$base = basename($_SERVER['PHP_SELF']);
?>
FOREACH:(生成导航)
<ul>
<?php
foreach ($nav_array as $k => $v) {
echo buildLinks ($k, $v, $base);
}
?>
</ul>
构建链接:
<?php // Building the links
function buildLinks ($label_name, $file_name, $active_class) {
if ($label_name == $title) {
$theLink = "<li><a class=\"selected\" href=\"$file_name\">$label_name</a></li>\n";
} else {
$theLink = "<li><a href=\"$file_name\">$label_name</a></li>\n";
}
return $theLink;
}
?>
结果: http: //khill.mhostiuckproductions.com/siteLSSBoilerPlate/arraytest.php
子菜单将出现在使用 CSS 的父元素悬停上。我需要能够在不修改数组之外的任何内容的情况下通过多个子级别。
如何使我的 foreach 递归地遍历数组的其余部分?
(注意:我必须能够将一类活动应用于当前页面,并将一类箭头应用于具有子菜单的父元素。)