Problème pour trier des données

WRom1 Messages postés 7 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 9 septembre 2003 - 27 avril 2003 à 08:29
WRom1 Messages postés 7 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 9 septembre 2003 - 27 avril 2003 à 18:39
Bonjour à tous,

J'ai un prb pour trier des données : je récupère le nom des fichiers d'un répertoire, et j'aimerai les classer par ordre alphabétique. J'utilise donc la fonction "usort", mais pour cette fonction, 'abc10.abc' et plus petit que 'abc2.abc'....

J'obtiens donc :
abc1.xxx
abc10.xxx
abc2.xxx

alors que je veux avoir :
abc1.xxx
abc2.xxx
abc10.xxx

Bien sur, le nom des fichiers n'est pas toujours du style 'abc.....' !!!

Voici le petit bout de code concerné :
$nb_repertoires = 0;
$curr_rep = "";
$nom_repertoire[0] = "";

$handle=opendir($repertoire_photo);
while ($curr_rep = readdir($handle))
{
if ($curr_rep != "." && $curr_rep != ".." && $curr_rep != "data.txt")
{
$nb_repertoires++;
$curr_rep = trim($curr_rep);
$nom_repertoire[$nb_repertoires] = $curr_rep;
}
}
closedir($handle);

usort($nom_repertoire, "fonction_compare");

et

function fonction_compare($a, $b)
{
if (strcmp(commentaire("photo/data.txt",$a),commentaire("photo/data.txt",$b))==0) return 0;
return strcmp(commentaire("photo/data.txt",$a),commentaire("photo/data.txt",$b)) ? -1 : 1;
}

Si qlq'1 a une idée.... Merci d'avance

2 réponses

cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
27 avril 2003 à 11:56
Salut

ton probleme est normal, regarde dans windows c le meme probleme : 1, 10, 2, 20 ....

fait une moulinette qui regarde les chiffres du nom du fichier : si il y a 2 chiffres, c bon, si il y a 1 chiffre alors tu ajout un 0 devant ( ça ça serai pour les nombre a 2 chiffres, si c t pour des nombre a 3 chiffres faudrai ajouter un 0 devant les nombre composé de 2 chiffres et 2 0 devant les nombre a 1 chiffre

++

--> http://www.kame-house.org <--
La plus grosse base de données sur les dessins animés des années 80
Site gratuit et sans pub
0
WRom1 Messages postés 7 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 9 septembre 2003
27 avril 2003 à 18:39
Salut,

J'avais déjà remaqué ça dans Windows, mais je me demandais si qlq1 avait éjà bidouillé un truc pour y remédier : pour l'instant je préfère continuer de bosser sur la partie "importante" du script plutot que sur ce prb... Mais dans le pire des cas, je ferai comme tu m'as dit plus tard
0
Rejoignez-nous