Hi,
function test ($navigation = array(), $menumode) {
Erster Fehler. Variablen, die mit einem Standardwert belegt werden können, müssen nach hinten in die Argumentliste, also
function test ($menumode, $navigation = array())
$temp = $menumode;
for ($i=0; $i<sizeof($navigation); $i++) {
$temp = $temp.$i["name"]."<br>";
}
Zweiter Fehler. $i ist ein Integer, die Laufvariable für die Schleife, KEIN Array, auf das man so zugreifen könnte (mit []).
Richtig wäre:
$temp = $temp.$navigation[$i]."<br>";
Aber das funktioniert auch NUR dann, wenn das Array kein assoziatives Array ist, sondern ein durchnummeriertes (in diesem Fall ist es eines, weil mysql_fetch_array ein solches liefert).
Besser wäre:
reset($navigation);
while (list(, $value) = each($navigation))
$temp .= $value."<br>";
So kann man die Funktion auch mit assoziatives Arrays aufrufen und es funktioniert.
Ist das so grundsätzlich falsch, oder geht sowas überhaupt??
Nicht grundsätzlich, aber doch recht unrichtig :-)
nix