Rechercher : dans
Par :

Trier un tableau multi-dimensionnel en php

Dernière réponse le 1 mai 2009 à 00:15:55 GYK, le 29 avr 2009 à 16:41:18 
 Signaler ce message aux modérateurs

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!

Configuration: Windows XP
Firefox 3.0.10

Meilleures réponses pour « Trier un tableau multi dimensionnel en php » dans :
[PHP] Méthodes de débogage VoirI. Informations sur une variable I.1 echo I.2 print_r() I.3 var_dump() / var_export() I.4 Rediriger la sortie (ne pas afficher à l'écran) II. "Backtrace" ou rapport de contexte III. Bien utiliser les rapports d'erreur IV. Le mot clé...
PHP - Génération d'images VoirPrérequis PHP permet de créer des images au format GIF à l'aide d'une librairie de fonctions prévue à cet effet. La librairie permettant de créer et manipuler des fichiers graphiques se nomme GD, ainsi, pour pouvoir utiliser ces fonctions il faut...
Javascript - Les tableaux VoirIntroduction à la notion de tableau Les variables de Javascript ne permettent de stocker qu'une seule donnée à la fois. Or, étant donné qu'il est souvent utile de manipuler de nombreuses données, le concept de variable se révéle parfois...

1

P@t@ch0n, le 29 avr 2009 à 19:18:00

Il se présente comment ton tableau à l'affichage (print_r()) ?

Difficile de déterminer sa structure comme ça.

Répondre à P@t@ch0n

2

GYK, le 29 avr 2009 à 20:05:44

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+

Répondre à GYK

3

pyschopathe, le 29 avr 2009 à 23:33:13

Avec l'indentation ça aurait été plus lisible... Je suppose que tu veux trier par nom ?

Répondre à pyschopathe

4

GYK, le 30 avr 2009 à 10:20:06

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+

Répondre à GYK

5

 pyschopathe, le 1 mai 2009 à 00:15:55

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

Répondre à pyschopathe
Collection CommentÇaMarche.net