Hello,
Derartige Sortierungen werden gerne benutzt, wenn man in sortierten Listen aus Datenbeständen mit Duplicates mit definiertem Aufsetzpunkt blättern will.
ich möchte nur einen Verzeichnisbaum so sortieren, dass zuerst die Verzeichnisse stehen (Array-Werte) - gefolgt von den Dateien (leere Werte).
Ist das tatsächlich ein Verzeichnis?
Dann nim glob() mit "GLOB_ONLYDIR"
Dann hast Du schon mal die Verzeichnisse sortiert vorliegen
Dann nimmst Du nochmal glob() und addierst das Ergebnis auf das vorherige auf.
oder Array_merge(). Die vorhandenen sollten erhalten bleiben und nur die neuen hinten angehängt werden.
<?php ### glob_sortet.php ### utf-8 ### ÄÖÜäöü
$_dirs = glob('*', GLOB_ONLYDIR);
$_files = glob('*');
natcasesort($_dirs);
natcasesort($_files);
$_dirs = array_values($_dirs);
$_files = array_values($_files);
$_files = array_flip($_files);
$_dirs = array_flip($_dirs);
$_all = $_dirs + $_files;
echo "<pre>\r\n";
echo htmlspecialchars(print_r($_all,1)) . "\r\n";
echo "<pre>\r\n";
?>
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg