Aller au contenu

Comment trier un tableau multidimensionnel ?


Sujets conseillés

Posté

Bonjour tout le monde,

Le débutant php que je suis a une question à poser sur les tris d'un tableau à plusieurs dimensions.

Prenons un exemple :

Voici un tableau indiquant pour 4 classes scolaires le nombre d'éléves et de professeurs :

- $ecole['classe']['0']['eleve']='10';

- $ecole['classe']['1']['eleve']='20';

- $ecole['classe']['2']['eleve']='3';

- $ecole['classe']['3']['eleve']='1';

- $ecole['classe']['0']['professeur']='2';

- $ecole['classe']['1']['professeur']='3';

- $ecole['classe']['2']['professeur']='1';

- $ecole['classe']['3']['professeur']='1';

Pour créer une boucle toute simple affichant le nombre d'éleves et de professeurs par classe, il suffit d'afficher $ecole['classe'][$i]['eleve'] et $ecole['classe'][$i]['professeur'] pour $i variant de 0 à 3.

PHP m'affichera dans l'ordre 10 élèves et 2 professeurs dans la classe 0 etc...

Simple et logique.

J'aimerais maintenant que PHP m'affiche les classes en les triant par nombre d'élèves :

1 élève et 1 professeur dans la classe 0 (qui était initialement la classe 3)

3 élèves et 1 professeur dans la classe 1 (qui était initialement la classe 2)

etc...

Voyez-vous une façon simple à comprendre à rapide à exécuter (pour PHP) ?

Merci pour votre aide !

Posté

Bonjour,

tu peux éventuellement utiliser array_multisort pour classer le tableau...si cela correspond à tes besoins.

Tu peux aussi regarder parmi les commentaires de cette même page, il y a de très intéressantes fonctions pour ordonner les multidimensionnels.

Bonne chance

Posté

Merci pour vos réponses !

Dans mes recherches, j'avais entendu parler de cette fonction... En regardant un peu la doc, j'avais l'impression que ça ne répondait pas exactement (pas directement en tout cas) à mes besoins...

Vous avez l'air de penser le contraire... Je vais donc regarder ça de plus près.

Encore merci :)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...