J'ai besoin du tableau suivant dans l'ordre alphabétique (à tous les niveaux), mais asort
ne semble pas fonctionner parce que j'ai un appel récursif dans ma fonction (ou du moins je pense); il ne fait que trier partiellement mon tableau, donc j'en aurai des morceaux qui sont classés par ordre alphabétique, mais ils seront hors service.Trier un tableau avec un appel de fonction récursif?
Aide!
Ex. Répertoire alphabétique:
apartments.html
js/
application.js
jquery.js
something.js
css/
reset.css
master.css
preview.html
ab_restaurant_at_the_end_of_the_universe.jpg
sortie souhaitée:
array() {
[0] => string() "ab_restaurant_at_the_end_of_the_universe.jpg"
[1] => string() "apartments.html"
["css"] => array() {
[0] => string() "master.css"
[1] => string() "reset.css"
}
["js"] => array() {
[0] => string() "application.js"
[1] => string() "jquery.js"
[2] => string() "something.js"
}
[2] => string() "preview.html"
}
function directory_list($directory) {
$files = array();
if (is_dir($directory)) {
if ($curr_dir = opendir($directory)) {
while (false !== ($file = readdir($curr_dir))) {
if ($file != "." && $file != ".." && $file != "apartment" && $file != "blog") {
if (is_dir($directory. "/" . $file)) {
$files[$file] = directory_list($directory. "/" . $file);
} else {
$files[] = $file;
}
}
}
closedir($curr_dir);
}
}
//asort($files); <-- doesn't work; sorts, but interrupts itself because of self-referencing call above (I think)
return $files;
}
Pouvez-vous mettre à jour votre question pour inclure un exemple de liste de répertoires et la sortie attendue? – hobodave
-1 pour ne pas fournir les informations demandées. – hobodave
Exemple de sortie supplémentaire. – neezer