Hopelijk is er iemand die mij kan helpen.

De code op regel 5 zorgt voor "Fatal error: [] operator not supported for strings in ..."

<?php
if($row['depth'] == $i) {
	$menu[] = $row['title'];
} elseif($row['depth'] == $i+1) {
	$menu[$i][] = $row['title'];
}
?>


Als ik op regel 5 ipv $i een getal invul, werkt het wel. Maar $i is ook een int. Wat zou het probleem zijn?

Alvast bedankt.
koen schreef op 29.10.2009 10:07

zou het probleem niet kunnen zitten in de lege brackets?
in het eerste deel van de if, gebruik je menu[$i]...
in het 2de deel gebruik je menu[$i][]...
:S


Die lege bracket omdat $array[] = $var hetzelfde effect heeft als array_push().

De bedoeling was om iets aan de array toe te voegen. Inmiddels is mijn probleem opgelost, namelijk met het volgende antwoord:
Karl schreef op 23.10.2009 20:44
In die elseif doe je $i+1, moet die $i op regel vijf dan ook geen +1 hebben?
En waarschijnlijk komt dit uit een loopje o.i.d. en dus is die if al een keer geweest, waardoor in $menu[$i] een string zit (want dat doe je bij de if).


Dat had ik ook al vermeld:
Leen schreef op 23.10.2009 21:28

EDIT:
Volgens mij heb ik het al door. Er gebeurt inderdaad wat in het eerste antwoord staat.

Reageren