Hello,
da
$_obst[1] == "Äpfel" (Vergleich)
bereits mit einem String belegt ist, wirst Du es sicherheitshalber erst mit dem neuen Datentyp initialisieren:
$_obst[1] = array();
oder gleich
$_obst[1] = array(1=>'Mac', 2=>'Grafensteiner', 3=>'Granny Smith');
Die direkte implizite Zuweisung kann Probleme bereiten, wenn das Arrayelement bereits mit etwas anderem als false oder null belegt ist, wird aber garantiert Schwierigkeiten machen, wenn man versucht, mehrere Hierarchiestufen auf einmal implizit in die Struktur einzuhängen.
$_obst[1][1]['name']='Boskop';
wird also nicht funktionieren, wenn der zukünftige Knoten $_obst[1] bereits mit einem Skalar belegt ist.
Ich hoffe, ich konnte zur Verdeutlichung beitragen und nicht zur Verwirrung.
PS:
Ich habe mit übrigens angewöhnt, Array-Bezeichner mit Dollar-Unterstich-Name also $_obst zu kennzeichnen gegenüber Skalarbezeichnnern wie $name. Das hat sich bewährt.
Liebe Grüße aus http://www.braunschweig.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen