Fonction de tri

Signaler
Messages postés
54
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
15 octobre 2009
-
Messages postés
54
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
15 octobre 2009
-
Bonjour,
existe t il une fonction de tri où l'on peut dire à partir de quelle caractère on souhaite que le tableau soit trié ?
les éléments du tableau sont du genre : fiche-11-12, fiche-11-13, fiche-21-11, fiche-11- 14 etc...
quand je trie le tableau il les met dans cet ordre : fiche-11-12, fiche-11-13, fiche-11- 14 fiche-21-11 et moi je voudrais qu'il soit dans cet ordre :fiche-21-11, fiche-11-12, fiche-11-13,  fiche-11- 14 c'est à dire trié à partir des 2 derniers caractères.

Pizza Dude

2 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

tu ne trouveras pas de fonction toute prête pour ça.
Tu devras utiliser une fonction callback, via usort ().
En clair, tu vas créer une fonction qui prend pour paramètre 2 valeurs. Tu feras la vérification sur l'ordre de grandeur : tu prends les deux derniers caractères de tes valeurs, et tu les compares comme des entiers, si j'ai bien compris, puis tu renvoies -1 ou 1 ou 0 selon l'ordre trouvé.

En gros, sans vérification parce que je ne peux pas là :
<?php
function mySort ($a, $b) {
    if ((int)substr ($a, -2) < (int)substr ($b, -2)) {
       return -1;
    } elseif ((int)substr ($a, -2) > (int)substr ($b, -2)) {
       return 1;
    } else {
       return 0;
    }
}
usort ($monTableau, 'mySort');
?>

où $monTableau est  le tableau dont tu parles.
Messages postés
54
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
15 octobre 2009

Merci ! je vais tester ça.

Pizza Dude