Mik3e
Erfahrenes Mitglied
Hi zusammen,
Stehe vor folgendem Problem:
Ich möchte eine hierarchische Menüstruktur in einem Array mit den Parametern Name & Link hinterlegen und anschließend schön formatiert ausgeben.
Ich weiß, schreit nach Nested Sets, wäre hierfür allerdings überdimensioniert. Also muss Rekursion herhalten.
Das eigentliche Problem ist, dass ich die Ausgabe über die Rekursion nicht ganz raffe. Montag Morgen und ich steh mal wieder voll auf der Leitung.
Aber zu den Facts - Hier der Code:
Der Menü-Array:
Und die rekursive Funktion zum Auslesen:
Leider funktioniert das ganze überhaupt nicht
Ich möchte folgenden Output erzeugen (Baum - Die Platzhalter fehlen in der funktion noch):
Hat irgendwer von Euch einen Plan, wie ich den Array am elegantesten strukturieren und eine passende Funktion dazu bauen könnte?
Danke & Ciao,
Mike
Stehe vor folgendem Problem:
Ich möchte eine hierarchische Menüstruktur in einem Array mit den Parametern Name & Link hinterlegen und anschließend schön formatiert ausgeben.
Ich weiß, schreit nach Nested Sets, wäre hierfür allerdings überdimensioniert. Also muss Rekursion herhalten.
Das eigentliche Problem ist, dass ich die Ausgabe über die Rekursion nicht ganz raffe. Montag Morgen und ich steh mal wieder voll auf der Leitung.
Aber zu den Facts - Hier der Code:
Der Menü-Array:
PHP:
$menu=array();
$menu[0][0][0]['name']='Mainmenu 1';
$menu[0][0][0]['link']='#';
$menu[1][0][0]['name']='Mainmenu 2';
$menu[1][0][0]['link']='#';
$menu[1][1][0]['name']='Submenu 1';
$menu[1][1][0]['link']='#';
$menu[1][2][0]['name']='Submenu 2';
$menu[1][2][0]['link']='#';
$menu[1][2][1]['name']='SubSubmenu 1';
$menu[1][2][1]['link']='#';
$menu[3][0][0]['name']='Mainmenu 3';
$menu[3][0][0]['link']='#';
Und die rekursive Funktion zum Auslesen:
PHP:
function getMenu($menu) {
foreach ($menu as $key => $value) {
if (is_array($value)) {
getMenu($value);
} else {
echo $value['name'].'<br/>';
echo $value['layer'].'<br/>';
echo $value['link'].'<br/>';
}
}
}
getMenu($menu)
Ich möchte folgenden Output erzeugen (Baum - Die Platzhalter fehlen in der funktion noch):
HTML:
Mainmenu 0
Mainmenu 1
---- Submenu 1.1
---- Submenu 1.2
-------- Submenu 1.2.1
Mainmenu 2
Danke & Ciao,
Mike