Ich versuche mir mit folgendem Code ein dynamisches Menü zu erstellen!
Leider kommt keine Ausgabe. $Text bleibt leer!!??.
Weis jemand wo der Fehler liegt?
Soll das ein vollständiges PHP-Programm sein? Welche Parameter muss man angeben?
Bei mir kommmt 10 mal folgende Ausschrift:
Warning: Invalid argument supplied for foreach() in /UNIONFS/opt/lampp/htdocs/card0.php on line 16
Das ist die Zeile: foreach ($user_ary as $user => $value)
Ich versuche mir mit folgendem Code ein dynamisches Menü zu
erstellen!
Leider kommt keine Ausgabe. $Text bleibt leer!!??.
Weis jemand wo der Fehler liegt?
Du rufst Deine Funktion rekursiv auf, wobei aber beim
ersten Aufruf der Funktion aus der Funktion der erwartete
Parameter user_ary kein Feld, sondern ein String ist.
Daher ist dann das „level“ === NULL (error)
und keine Zahl, die die „Ebene“ kennzeichnet
(und so weiter).
grundsaetzlich so, wie du es am anfang hattest, aber halt in systematisch (eine funktion sollte immer das gleiche zurueckgeben);
pseudocode:
function buildlist($ar) {
$r = "
";
foreach ($ar as item) {
if (is_array($item)) {
$r .= "- " . buildlist($item) . "
"; //anders als in deinem beispiel muessen auch unter-ul in li stehen.
continue;
}
$r .= "- „.$item.“
";
$r .= „“;
return $r;
}
print buildlist( $Ebene[2][1] );
aber das ist ein untaugliches beispiel, weil du noch links fuer deine hrefs brauchst - also deine konfiguration nochmal ganz anders aussehen wird.
weiter wirst du noch active/current/normal stati und unterschiedliche klassen fuer die ebenen wollen …
richtig programmieren. pseudocode wie gesagt. moeglicherweise
hattest du die fehlende klammer falsch gesetzt.
Was würdest sagen wennst bei mir in Linien Bus einsteigst, mich fragst.
„Wie komme ich in die Str. oder Haltestelle!“
Ich dir sage mit den richtigen Bus!.
Wennst mir nicht helfen willst na gut dann eben nicht!!!
freut mich natuerlich, wenn es dir weitergeholfen hat.
hast du deine eingangsdaten geaendert?
mit den frueher geposteten erzeugt dein code fehler und ungueltiges html. die rekursiven aufrufe in den abfragen "if level== " sind fuer umsonst, weil mit deren rueckgabewerten nichts getan wird und sie keine globalen variablen aendern - was natuerlich gut ist.