[PHP] Trier un tableau à 2 dimensions

yinyin76 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
azerwhite Messages postés 753 Statut Membre -
Bonjour,

J'ai le tableau suivant :
$tabListe = array();
$tabListe[0]['nom'] = "steeve";
$tabListe[0]['nbrAppel'] = 300;
et on passe à l'indice 1 ainsi de suite...

Je voudrais trier ce tableau sur l'élément nbrAppel en décroissant.

Pouvez-vous m'aider svp ?

Merci d'avance ;)

5 réponses

  1. Autumn`Tears Messages postés 1247 Statut Membre 145
     
    Salut,

    while($tabListe[$cpt+1]) {
    if($tabListe[$cpt][nbrAppel]<$tabListe[$cpt+1][nbrAppel]) {
    $var=$tabListe[$cpt][nbrAppel];
    $tabListe[$cpt][nbrAppel]=$tabListe[$cpt+1][nbrAppel];
    $tabListe[$cpt+1][nbrAppel]=$var;
    }
    $cpt++;
    }

    Ce doit être quelque chose comme ça en principe
    0
  2. yinyin76 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
     
    D'accord merci je vais essayer.

    Sinon il n'existe pas une fonction prédéfinie qui pourrait trier le tableau ?

    Merci ;)
    0
  3. garion28 Messages postés 1545 Date d'inscription   Statut Membre Dernière intervention   408
     
    autumn tu as oublié d'inclure le nom dans le tri (car un nom est rattaché a un nombre d'appel donc si tu tri les appel et pas les noms :s
    0
  4. yinyin76 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
     
    Merci les gars :)

    J'ai aussi vu dans le manuel php qu'il y a la fonction array_multisort() mais je ne suis pas sûr que ça marche avec des tableaux qui ont des index alphabétiques...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. azerwhite Messages postés 753 Statut Membre 43
     
    Ce qui faut c'est que tu trie ton tableau avec une fonction php (regarde dans la liste des fonctions sur array)
    https://www.php.net/manual/fr/book.array.php
    ou alors avec l'un des tries à la main possible: trie à bulle, shell, quicksort, pivot etc
    Mais faudra que tu modifies un peu le truc pour que quand tu trie tu déplaces les deux valeurs et pas que celle trier.

    A mon avis le mieux c'est de créer un autre tableau et mettre les valeurs dedans deux à deux.
    0