嘗試使用多維數組和遞歸構建導航。我有以下代碼:多維導航陣列
首先,我的文檔類型下的每個單獨的頁上運行<?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