[PHP] Trier un tableau à 2 dimensions

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. 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
    1. D'accord merci je vais essayer.

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

      Merci ;)
      1. 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
        1. 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...
          1. 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.