IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Classement alphabétique avec sort et SORT_STRING [Fait]


Sujet :

Langage PHP

  1. #1
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Points : 266
    Points
    266
    Par défaut [Tableaux] Classement alphabétique avec sort et SORT_STRING
    J'utilise la fonction sort avec SORT_STRING pour trier une liste de chaines de caractères par ordre alphabétique.

    Mon soucis vient du fait que la fonction trie d'abord les chaines commençant par une majuscule et ensuite celles avec une minuscule.

    J'aimerai juste trier par ordre alphabétique, majuscules et minuscules confondues.

    merci

  2. #2
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Il n'y a pas de solution 'simple', en une seule ligne de code.
    Une astuce pourrait être de construire un tableau de tableau a partir de ton tableau, contenant pour chaque chaine de caractere en 1er cette chaine en minuscule, puis la chaine normale. Puis un trie. Et enfin on recupere notre chaine normale.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Array
    (
        [0] => Zzzzz
        [1] => ZWITER
    )
    en tableau de tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Array
    (
        [0] => Array
            (
                [0] => zzzzz
                [1] => Zzzzz
            )
     
        [1] => Array
            (
                [0] => zwiter
                [1] => ZWITER
            )
    )
    On trie avec la fonction sort
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Array
    (
        [0] => Array
            (
                [0] => zwiter
                [1] => ZWITER
            )
     
        [1] => Array
            (
                [0] => zzzzz
                [1] => Zzzzz
            )
    )
    et on extrait l'index 1 de chaque valeur du tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Array
    (
        [0] => ZWITER
        [1] => Zzzzz
    )
    Z.

  3. #3
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut


    La bonne solution serait d'utiliser usort qui te permet de définir une fonction de tri.

    Ainsi, tu crées une fonction de tri qui prend ton tableau en entrée, qui fais ensuite un strtolower sur l'ensemble du tableau et qui renvoie le tableau ainsi trié.

    Sinon encore plus simple, tu utilises natcasesort qui fait tout tout seul

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Classement alphabétique avec séparation par lettres
    Par Overstone dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 23/05/2009, 23h03
  2. Traitement des tableaux de word avec VBA: balise index
    Par Invité dans le forum VBA Word
    Réponses: 20
    Dernier message: 29/11/2005, 16h39
  3. [debutante][list] trier avec sort()
    Par norkius dans le forum Débuter
    Réponses: 10
    Dernier message: 24/10/2005, 19h13
  4. Pb de tri avec "sort"
    Par blueice dans le forum Langage
    Réponses: 2
    Dernier message: 20/10/2005, 13h19
  5. [Tableaux] simple syntaxe avec $_REQUEST
    Par nicerico dans le forum Langage
    Réponses: 3
    Dernier message: 18/10/2005, 17h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo