phpbar.de logo

Mailinglisten-Archive

[php] Problem mit Arraysortierung

[php] Problem mit Arraysortierung

Gloss Mathias mgloss at amadeus.net
Mit Okt 29 16:33:02 CET 2003


Aloha,

> Von: 	Michael Mest[SMTP:michael.mest at onlinehome.de]
> 
> ich hab ein Array mit den folgenden Werten:
> [0] => ../../bilder/disco/schools_out_2002/hoch/thumbs/bild04_th.jpg 
> [1] => ../../bilder/disco/schools_out_2002/hoch/thumbs/bild41_th.jpg 
> [2] => ../../bilder/disco/schools_out_2002/hoch/thumbs/bild42_th.jpg 
> [3] => ../../bilder/disco/schools_out_2002/quer/thumbs/bild01_th.jpg 
> [4] => ../../bilder/disco/schools_out_2002/quer/thumbs/bild02_th.jpg
> [5] => ../../bilder/disco/schools_out_2002/quer/thumbs/bild03_th.jpg 
> [6] => ../../bilder/disco/schools_out_2002/quer/thumbs/bild05_th.jpg 
> 
> Dieses Array würde ich nun gerne so sortieren, dass die Dateinamen
> hinten aufsteigend sortiert sind. Ein Strich durch die Rechnung macht
> mir da leider das "hoch" und "quer" im Pfadnamen.
> 
> Gibt es eine Möglichkeit/Funktion, die es erlaubt die Arrayelemente nur
> nach einem Teil des Elements sortieren zu lassen??
> 
http://de2.php.net/usort  
--> Benutzerdefinierte Sortierfunktionen für Arrays

ungetestet:

function vergleiche($a,$b){
  # basename funktionert wohl nicht, um an den Dateinamen
  # zu kommen, da du keine Absoluten Pfade hast ... deswegen:
  $a = array_pop(explode('/', $a));
  $b = array_pop(explode('/', $b));
  if ($a == $b) return 0;
  return ($a < $b) ? -1 : 1;
}

usort($deinArray,vergleiche);

Grüße, Mathias


php::bar PHP Wiki   -   Listenarchive