Trier un tableau multi-dimensionnel en php

Fermé
GYK Messages postés 142 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 6 avril 2011 - 29 avril 2009 à 16:41
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 - 1 mai 2009 à 00:15
Bonjour,
Mon problème est dans le titre.
Jai un tableau généré ainsi:
[code]
$tab[$i] ['Z1'] = $Z1;
$tab[$i] [$ii] ['Z2'] = $Z2;
$tab[$i] [$ii] ['Z3'] = $Z3;
/code
Mon tableau est correct après génération, mai je n'arrive pas a le trier.
Je souhaiterais de la trier d'abord sur Z1, et a l'interieur du Z1, sur Z2 et ensuite sur Z3
J'ai testé avec différents code dont:
[code]
foreach ($tab as $key => $row)
{
$Z1T[$key] = $row['Z1'];
$Z2T[$key] = $row['Z2'];
$Z3T[$key] = $row['Z3'];
}
array_multisort ($Z1T, SORT_ASC, $tab);
array_multisort ($Z2T, SORT_DESC, $Z3T, SORT_ASC, $tab);
/code
Mais cela ne marche pas.
Quelqu'un peut-til m'aider.
Merci!
A voir également:

3 réponses

P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
29 avril 2009 à 19:18
Il se présente comment ton tableau à l'affichage (print_r()) ?

Difficile de déterminer sa structure comme ça.
0
GYK Messages postés 142 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 6 avril 2011 3
29 avril 2009 à 20:05
Bonjour P@t@ch0n;

Un bout du code:
[code]
Array
(
[0] => Array
(
[Z1] => 85-86
[0] => Array
(
[Z2] => Regine GOURON
[Z3] => 1
)

[1] => Array
(
[Z2] => Mme HUTIN
[Z3] => 0
)

[2] => Array
(
[Z2] => Clement SAMINOL
[Z3] => 0
)
[/code]
Merci
A+
0
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
29 avril 2009 à 23:33
Avec l'indentation ça aurait été plus lisible... Je suppose que tu veux trier par nom ?
0
GYK Messages postés 142 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 6 avril 2011 3
30 avril 2009 à 10:20
Dans ma base j'ai des années, des noms de personnes et certains sont ou Profs ou élève.

J'ai pour une période scolaire, généré un tableau avec les années en Z1, et en vrac les noms en Z3, et l'indice 1 si c'est un Prof et 0 si c'est un élève en Z2.
ce que je veux c'est:

Année
Nom Profs
Nom élève
Nom élève
etc
Année
Nom Profs
Nom élève
Nom élève
etc
Année
Nom Profs
Nom élève
Nom élève
etc
Actuellement si je tri sur année ca marche pour les années, mais les noms des Profs sont n'inporte ou dedans à l'intérieur de l'année.
Mais si je tri ensuite pour avoir le Prof en tête (Z2) et les nom par ordre alphabetique (Z3)
Ca marche pas et je ne comprend pas la logique du tri obtenu.
Je pense que ces précisions t'eclairerons un peu plus.
Merci
A+
0
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
1 mai 2009 à 00:15
Et si tu laissais ta base de données faire le tri, tu n'aurais plus à t'en soucier après. genre tu termines par un
ORDER BY annee, prof, eleve
0