Um mehrdimensionale Arrays rekursiv auf jeder Stufe in PHP
Ich habe ein array in dieser form:
Array
(
[first_level] => Array
(
[dir_3] => Array
(
[subdir_1] => Array
(
[file_2.mp4] => stdClass Object
(
[name] => file_2.mp4
)
[file_1.mp4] => stdClass Object
(
[name] => file_1.mp4
)
)
)
[dir_1] => Array
(
[subdir_2] => Array
(
[file_6.mp4] => stdClass Object
(
[name] => file_6.mp4
)
[file_9.mp4] => stdClass Object
(
[name] => file_9.mp4
)
[file_7.mp4] => stdClass Object
(
[name] => file_7.mp4
)
)
[subdir_1] => Array
(
[file_8] => stdClass Object
(
[name] => file_8.mp4
)
)
)
)
)
Muss ich, um es wie folgt:
Array
(
[first_level] => Array
(
[dir_1] => Array
(
[subdir_1] => Array
(
[file_8] => stdClass Object
(
[name] => file_8.mp4
)
)
[subdir_2] => Array
(
[file_6.mp4] => stdClass Object
(
[name] => file_6.mp4
)
[file_7.mp4] => stdClass Object
(
[name] => file_7.mp4
)
[file_9.mp4] => stdClass Object
(
[name] => file_9.mp4
)
)
)
[dir_3] => Array
(
[subdir_1] => Array
(
[file_1.mp4] => stdClass Object
(
[name] => file_1.mp4
)
[file_2.mp4] => stdClass Object
(
[name] => file_2.mp4
)
)
)
)
)
Stöberte ich durch andere ähnliche Fragen, und ich habe versucht es zu lösen mit usort aber ich konnte nicht meinen Kopf um ihn herum. :S
Irgendeine Idee?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden eine rekursive Funktion:
&
vor&$value
, so dass ich brach meinem Kopf, warum nur mein erstes level war immer sortiert. Vielen Dank für unwissentlich die mir geholfen haben. 😉Wie bereits in Ihrer Kommentare, Antworten mit
return ksort()
sind falsch, wie ksort() gibt einen Erfolg bool.Beachten Sie, dass diese Funktion nicht throw "Warn: ksort() erwartet parameter 1 to be array", wenn da eine nicht-array - dies entspricht auch meinen Anforderungen aber vielleicht nicht deins.
Müssen Sie ksort.