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] Tri tableau avec underscore et chiffres


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Par défaut [Tableaux] Tri tableau avec underscore et chiffres
    salut à tous,

    Comment je peux trier mon tableau qui contient ces valeurs par exemple (dans cet ordre), resultant d'un readdir() :
    1_1.pdf
    1_8.pdf
    1_16.pdf
    1_14.pdf
    1_3.pdf
    1_2.pdf
    1_25.pdf

    Lorsque je tri, çà fait ceci :
    1_1.pdf
    1_14.pdf
    1_16.pdf
    1_2.pdf
    1_25.pdf
    1_3.pdf
    1_8.pdf

    Et je voudrai çà :
    1_1.pdf
    1_2.pdf
    1_3.pdf
    1_8.pdf
    1_14.pdf
    1_16.pdf
    1_25.pdf


    J'ai essayé pas mal de fonction de tri, mais aucune ne semble faire ce que je veux..

    Merci à tous,
    Fabrice

  2. #2
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Pour les tris "non standard", j'utilise dorénavant la fonction usort() en lui fournissant une fonction de mon cru

    Typiquement dans ton cas, elle aurait cette tete :

    décomposition des deux éléments en sous éléments
    1_18.pdf => 1,18,.pdf

    Ensuite, il suffit de comparer le deuxième paramètres. Je te laisse regarder un peu, si tu ne trouve pas je te donnerais plus d'indications.

    Pierre

  3. #3
    Membre éclairé
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Par défaut
    oui, je vois.

    J'extrais bien les 3 elements, avec strpos() et substr(), mais ensuite, faut faire un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return $value1 < $value2
    ?

    Fabrice

  4. #4
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    En gros, la fonction callback doit etre comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function Compare($a,$b) {
    //on extrait la partie milieu de $a et de $b dans $num_a et $num_b
    if $num_a > $num_b return 1;
    elseif $num_a < $num_b return -1;
    else return 0;
    }

  5. #5
    Membre éclairé
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Par défaut
    ok, çà y est, çà marche nickel...

    Un grand merci à toi.

    Fabrice

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

Discussions similaires

  1. [Tableaux] tri tableau avec fonction
    Par ascito dans le forum Langage
    Réponses: 7
    Dernier message: 10/09/2008, 15h21
  2. [Tableaux] tri tableau php
    Par billebo dans le forum Langage
    Réponses: 16
    Dernier message: 09/03/2007, 14h40
  3. [Tableaux] Remplir tableau avec ordre defini
    Par nicerico dans le forum Langage
    Réponses: 2
    Dernier message: 03/11/2006, 11h28
  4. [Tableaux] tri tableau avec date
    Par omelhor dans le forum Langage
    Réponses: 12
    Dernier message: 17/10/2006, 21h24
  5. [Tableaux] Tri tableau
    Par licorne dans le forum Langage
    Réponses: 3
    Dernier message: 20/03/2006, 13h14

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