尝试使用多维数组和递归构建导航。我有以下代码:多维导航阵列
首先,我的文档类型下的每个单独的页上运行<?php $title = 'pagename'; ?>
(用于有源类检测)
ARRAY:
<?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:(产生NAV)
<ul>
<?php
foreach ($nav_array as $k => $v) {
echo buildLinks ($k, $v, $base);
}
?>
</ul>
b uildLinks:
<?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以递归方式落在数组的其余部分?
(注:我有一类的积极应用到当前页面的能力,而类箭头到具有一个子菜单当前父元素。)
数据结构是指数组的结构?你有什么建议,我应该采取什么方式?我可以搜索的东西? – Michael 2013-02-21 22:00:00
当然可以看到:http://stackoverflow.com/questions/11907790/recursive-function-for-dynamic-multilevel-menu-php – nubeiro 2013-02-22 11:28:53