Mailinglisten-Archive |
Am Sonntag, 24. August 2003 18:13 schrieb Lutz Zetzsche: Hallo Lutz und Andreas und alle, > Da Du den Array $arrRes, wenn ich jetzt nicht falsch gedacht habe, > ohnehin noch umbauen musst, um sinnvoll zu sortieren, kann Du bei der > Gelegenheit gleich einen zusaetzlichen Array $arrRes["parentname"] > generieren. Denn soweit ich es sehe, bekommst Du die von Dir > gewuenschte, "rekursiv verschachtelte" Sortierung von "menuname" und > "parent" mit array_multisort() nur mit einem zusaetzlichen Feld hin, > welches die Relation von "menuname" und "parent" auf Namensebene > herstellt. Die Relation stellt sich praktisch durch id und parent her- wenn parent einen anderen Eintrag als 0 hat, ist der Eintrag immer die ID des Elterneintrags. Ich werde mit multisort nochmal genauer ansehen, vermutlich aber erst morgen. Irgendwann muß Feierabend auch mal sein :) Was ich bisher getan habe ist diese usort Funktion auszuprobieren. Interessant, allerdings etwas kompliziert, wenn ich mich nicht gerade doof anstelle. Mein Array sind mittlerweile so aus: $arr[1][id] ... $arr[1][parent] ... $arr[2][id] ... $arr[2][parent] ... usw.... Meine Funktion, die nun das sortieren soll ist in der aktuellen Version: return ($a[id] <= $b[parent])?1:-1; Diese soll nun zuerst das Element mit parent 0 darstellen, anschließend alle die im Parent die ID des vorherigen Elements im Eintrag haben. Allerdings klappt das so nicht. Ich hab so einiges ausprobiert wie z.b. if($a[id] == $b[parent]) return 0; etc. aber... vielleicht hat jemand einen Tip parat? google sagt mir das alles ist ziemlich einfach.... aber irgendwie.. danke schon mal! Chris
php::bar PHP Wiki - Listenarchive