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 :

(trier - comparer) plusieurs array puis trier


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Points : 62
    Points
    62
    Par défaut (trier - comparer) plusieurs array puis trier
    Bonjour à tous,

    Je viens vers vous pour trouver une solution à mon problème. Je souhaiterais pouvoir trier des valeurs par array donc je n'y arrive pas.
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    Array
    (
        [0] => Array
            (
                [0] => G4-048
                [1] => 1420639
            )
     
    )
     
    Array
    (
        [0] => Array
            (
                [0] => D2-05
                [1] => 1418679
            )
     
    )
     
    Array
    (
        [0] => Array
            (
                [0] => J4-43
                [1] => J4-46
                [2] => 1418678
            )
     
    )
    Je souhaiterais pouvoir triés par array par ordre alphabétique prenant le dernier parametre du tableau
    dans mon exemple, j'aimerais avoir le résultat suivant :
    position 1 : 1418679 qui possede la lettre d
    posiiton 2 : 1420639 qui possede la lettre G
    etc... comparer et triés par ordre alphabetique en comparant toutes les valeurs donc le id possede,est-ce possible ? une fonction native php existe-il ? ou comment puis-je faire à votre avis ?


    Vous remerciant beaucoup par avance, n'hésité pas si vous avez des questions

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Que deviens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Array
    (
        [0] => Array
            (
                [0] => J4-43
                [1] => J4-46
                [2] => 1418678
            )
     
    )
    dans ton exemple ?

    Sinon la fonction pour ça est array_multisort().

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Points : 62
    Points
    62
    Par défaut
    Merci pour ta réponse Sabotage.

    J'aimerais classer alphabétiquement et numériquement les valeur ce trouvant dans les array.
    Il faudrait j'arrive à comparer toutes les valeurs entre array puis les classer par position.

    exemple de code donc j'ai pu mettre en place sans véritable conviction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    $arrayTwo = array();
    $arrayTwo[] = $id;
    $arrayOne = array();
    //je parcours ma liste pour recuperer les num correspondant aux ids
                foreach($list as $listing)
                {
                    $location = $listing['num'];
                    $arrayOne[]  = $location;
                }
                //toutes les valeurs dans un array_merge
                $result[] = array_merge(array($arrayOne),$arrayTwo);
                echo '<pre>';
                print_r($result);
                echo '</pre>';
    ce qui me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    Array
    (
        [0] => Array
            (
                [0] => Array
                    (
                        [0] => G4-048
                    )
     
                [1] => 1420639
            )
     
    )
     
    Array
    (
        [0] => Array
            (
                [0] => Array
                    (
                        [0] => D2-05
                    )
     
                [1] => 1418679
            )
     
    )
     
    Array
    (
        [0] => Array
            (
                [0] => Array
                    (
                        [0] => J4-43
                        [1] => J4-46
                    )
     
                [1] => 1418678
            )
     
    )
    array_multisort() sert à trier simultanément plusieurs tableaux, ou bien à trier un tableau multidimensionnel, suivant l'une ou l'autre de ses dimensions. (je que je cherche ce n'ai pas des valeurs similaire mais a triés selon les positions

    Dans mon exemple, cela devrait être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    position 1 : 
    Array
    (
        [0] => Array
            (
                [0] => Array
                    (
                        [0] => D2-05
                    )
     
                [1] => 1418679
            )
     
    )
    position 2 : 
    Array
    (
        [0] => Array
            (
                [0] => Array
                    (
                        [0] => G4-048
                    )
     
                [1] => 1420639
            )
     
    )
    etc.... comparer toutes les vzleurs dans [0] puis triés par ordre alphabetique
    avez-vous une solution pour moi .... je suis perdu :-(

Discussions similaires

  1. Comparer des cellules puis les trier
    Par klissou69 dans le forum Général VBA
    Réponses: 3
    Dernier message: 02/07/2013, 09h20
  2. Comment puis-je trier mon double array
    Par pierrot10 dans le forum Langage
    Réponses: 1
    Dernier message: 06/02/2012, 14h08
  3. Comment indexer trier sur plusieurs critères
    Par pierrot67 dans le forum Bases de données
    Réponses: 9
    Dernier message: 03/05/2007, 09h19
  4. [Tableaux] trier plusieurs array
    Par djedje37et28 dans le forum Langage
    Réponses: 5
    Dernier message: 29/03/2007, 10h44
  5. [Tableaux] Trier un tableau [array]
    Par clemsouz dans le forum Langage
    Réponses: 2
    Dernier message: 15/05/2006, 13h33

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