Mailinglisten-Archive |
hi, ich habe ein Array in der Form: array ( 1 => array("name" => "node1" , "childs" => array ( 1 => array("name"=>"node1.1", "childs"=>1) ) ) 2 => array("name" => "node2", childs=>0) ); Das Array stellt den kompletten Baum dar. childs == 0 bedeutet keine Childs vorhanden. childs==1 bedeutet childs vorhanden,Baum aber noch nicht aufgeklappt. Enthält childs ein array so werden die entsprechenden Childs ausgegeben. Das array ist also dynamisch und wird zwischengespeichert. Die eigentlichen Child-Daten werden aus einer SQL-Tabelle nach jedem aufklappen eines zweigs geholt. Die Zwischenspeicherung findet statt um die Datenbank bei einem sehr großen Baum nicht unnötig mit Anfragen zu belasten. Doch wie stelle ich das array nun dar? ich könnte eine rekursive Funktion erstellen die immer,wenn sie auf ein array trifft sich selbst aufruft und die Unterchilds darstellt. Doch das funkioniert so ja nur bei einem Pfad. Hat beispielsweise ein Zweig zwei Unterzweige die jeweils wieder Unterzweige enthalten so würde bei einem rekursiven Array der erste Unterzweig mit seinen Zweigen angezeigt,der zweite aber nicht. Kann mir das jemand erklären? Grüße, Thomas eines Zweigs im Baum
php::bar PHP Wiki - Listenarchive