Hi wahsaga!
Ja stimmt. Natürlich muß ich das Teil rekursiv durchlaufen. Aber selbst
array_multisort($array, SORT_ASC);
berücksichtigt anscheinend dieses "Array". Es kommt die Ausgabe
Array
(
[0] => /Ordnerggg
[1] => /Testordner
[2] => /zzzzz
[3] => Array
(
[0] => /Ordnerggg/lala
[1] => Array
(
[0] => /Ordnerggg/lala/aaa
[1] => /Ordnerggg/lala/lala2
)
)
[4] => Array
(
[0] => /zzzzz/dsfdsfgdsfg
[1] => /zzzzz/asdasd
)
)
Mein anderer Ansatz war, alle Werte in ein nicht-rekursives Array zu packen, zu sortieren
Array
(
[0] => /Ordnerggg
[1] => /Ordnerggg/lala
[2] => /Ordnerggg/lala/aaa
[3] => /Ordnerggg/lala/lala2
[4] => /Testordner
[5] => /zzzzz
[6] => /zzzzz/asdasd
[7] => /zzzzz/dsfdsfgdsfg
)
und es dann mit foreach(array as element) --> while(strtok($element, "/") ) ... wieder zu zerlegen. Nur dann denke ich ist es schwierig, mit HTML-Listen zu arbeiten, denn woher soll das einzelne Element wissen, das es nicht noch ein zweites in dieser Ebene gibt und das <ul> auf/ oder zumachen soll... :-/
Mein Ansatz für die Zerlegung
$schubidu = "jetzt gehts los <br />";
foreach ( $tree as $element ) {
$schubidu .= "neues Element: ";
$tok = strtok($element, "/");
while ($tok !== false) {
$schubidu .= "Token=$tok, ";
$tok = strtok("/");
}
$schubidu .= "<br />";
}
$schubidu .= "Nu is aber schluß<br />";
Was ist denn besser geeignet? in einer Array-ebene bleiben oder es rekursiv anpacken?
Tobi