Hallo Selfgemeinde,
ich habe ein Problem beim Sortieren eines Arrays.
Folgendes (konkretes) Beispiel:
Array
(
[id] => tutorials
[level] => 0
[filetype] => d
[name] => tutorials
[title] => Array
(
[0] => Tutorials
[1] =>
[2] =>
)
[sort] => Tutorials
[descendants] => Array
(
[0] => Array
(
[id] => tutorials:index
[level] => 1
[filetype] => f
[name] => index
[title] => Array
(
[0] => Index
[1] =>
[2] =>
)
[sort] => Index
)
[1] => Array
(
[id] => tutorials:lua
[level] => 1
[filetype] => d
[name] => lua
[title] => Array
(
[0] => Lua
[1] => LUA Tutorials
[2] =>
)
[sort] => LUA Tutorials
[descendants] => Array
(
[0] => Array
(
[id] => tutorials:lua:index
[level] => 2
[filetype] => f
[name] => index
[title] => Array
(
[0] => Index
[1] => LUA Tutorials
[2] =>
)
[sort] => LUA Tutorials
)
[1] => Array
(
[id] => tutorials:lua:unterordner_lua
[level] => 2
[filetype] => d
[name] => unterordner lua
[title] => Array
(
[0] => Unterordner Lua
[1] =>
[2] =>
)
[sort] => Unterordner Lua
[descendants] => Array
(
[0] => Array
(
[id] => tutorials:lua:unterordner_lua:index
[level] => 3
[filetype] => f
[name] => index
[title] => Array
(
[0] => Index
[1] =>
[2] =>
)
[sort] => Index
)
)
)
)
)
[2] => Array
(
[id] => tutorials:s5_-_dedk_tutorials
[level] => 1
[filetype] => d
[name] => s5_-_dedk_tutorials
[title] => Array
(
[0] => S5 - Dedk Tutorials
[1] => S5 - DEdK Tutorials
[2] =>
)
[sort] => S5 - DEdK Tutorials
[descendants] => Array
(
[0] => Array
(
[id] => tutorials:s5_-_dedk_tutorials:index
[level] => 2
[filetype] => f
[name] => index
[title] => Array
(
[0] => Index
[1] => S5 - DEdK Tutorials
[2] =>
)
[sort] => S5 - DEdK Tutorials
)
[1] => Array
(
[id] => tutorials:s5_-_dedk_tutorials:multiplayer
[level] => 2
[filetype] => d
[name] => multiplayer
[title] => Array
(
[0] => Multiplayer
[1] => Multiplayer
[2] =>
)
[sort] => Multiplayer
[descendants] => Array
(
[0] => Array
(
[id] => tutorials:s5_-_dedk_tutorials:multiplayer:index
[level] => 3
[filetype] => f
[name] => index
[title] => Array
(
[0] => Index
[1] => Multiplayer
[2] =>
)
[sort] => Multiplayer
)
)
)
[2] => Array
(
[id] => tutorials:s5_-_dedk_tutorials:verzeichnis_2
[level] => 2
[filetype] => d
[name] => verzeichnis_2
[title] => Array
(
[0] => Verzeichnis 2
[1] => Level 1 Überschrift
[2] =>
)
[sort] => Level 1 Überschrift
[descendants] => Array
(
[0] => Array
(
[id] => tutorials:s5_-_dedk_tutorials:verzeichnis_2:index
[level] => 3
[filetype] => f
[name] => index
[title] => Array
(
[0] => Index
[1] => Level 1 Überschrift
[2] =>
)
[sort] => Level 1 Überschrift
)
)
)
)
)
)
)
Dieses Array, welches ja (theoretisch) eine beleibige Tiefe haben kann, möchte ich nun durchgehen und jeweils alle Arrays unter [descendants] mittels einer benutzerdefinierten Funktion sortieren lassen (also per usort).
Ich kriege es aber einfach nicht hin, weder mit irgendwelchen for, foreach, while, each, noch sonst irgendwelchen Konstrukten.
Frage: Wie baue ich eine entsprechende Schleife/ Rekursion, sodass ich jedes enthaltene descendants-Array mit meiner Sortierfunktion sortiert bekomme?
Und nein: Am Aufbau des Arrays kann ich nichts verändern.
Vielen Dank für eure Hilfe - ich bin echt am verzweifeln!
Gruß Gunther