Wie würdest du das machen, wenn du die Dateinamen auf Zetteln stehen hast? Wer kommt vorher, wer nachher? Wenn die Endungen unterschiedlich sind, ist das in einem Schritt entschieden. Wenn die Endungen gleich sind, ...
... muss man verschachteln? Innerhalb der Bedingung "if ($a_endung == $b_endung)" der cmp-Funktion muss noch etwas passieren. Das habe ich versucht, aber nicht hinbekommen.
<?php
function cmp($a, $b) {
$a_array = explode('.', $a);
$a_endung = $a_array[sizeof($a_array) - 1];
$b_array = explode('.', $b);
$b_endung = $b_array[sizeof($b_array) - 1];
if ($a_endung == $b_endung) {
return 0;
}
return ($a_endung < $b_endung) ? -1 : 1;
}
$dateiliste = array('musik.mp3', 'bild.jpg', 'mehr_musik.mp3', 'noch_ein_bild.jpg', 'text.txt', 'textdokument.doc');
usort($dateiliste, "cmp");
?>