Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2034 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  trier un tableau multidimensionnel en fonction d'une colonne

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

trier un tableau multidimensionnel en fonction d'une colonne

n°1620470
freed102
Arayashiki
Posté le 08-10-2007 à 12:12:36  profilanswer
 

Bonjour à tous,
 
J'ai un tableau multidimensionnel, que je voudrais trier en fonction d'une "colonne" de ce même tableau. je m'explique en montrant un peu :
 
Imaginons un tableau de ce genre :
 
 

Code :
  1. $_SESSION['panier']['groupe']=91;
  2. $_SESSION['panier']['libelle']="mon article";
  3. $_SESSION['panier']['prix']=50;
  4. $_SESSION['panier']['quantité']=5;
  5. $_SESSION['panier']['groupe']=54;
  6. $_SESSION['panier']['libelle']="mon article 2";
  7. $_SESSION['panier']['prix']=15;
  8. $_SESSION['panier']['quantité']=2;
  9. $_SESSION['panier']['groupe']=52;
  10. $_SESSION['panier']['libelle']="mon article 3";
  11. $_SESSION['panier']['prix']=17;
  12. $_SESSION['panier']['quantité']=3;
  13. $_SESSION['panier']['groupe']=91;
  14. $_SESSION['panier']['libelle']="mon article 4";
  15. $_SESSION['panier']['prix']=27;
  16. $_SESSION['panier']['quantité']=6;


 
 
j'aimerai trier mon tableau en fonction de la valeur se trouvant dans la colonne "groupe";  afin de grouper les articles par groupe!
 
afin de me retrouver avec un tableau plutot comme ça :

Code :
  1. $_SESSION['panier']['groupe']=52;
  2. $_SESSION['panier']['libelle']="mon article 3";
  3. $_SESSION['panier']['prix']=17;
  4. $_SESSION['panier']['quantité']=3;
  5. $_SESSION['panier']['groupe']=54;
  6. $_SESSION['panier']['libelle']="mon article 2";
  7. $_SESSION['panier']['prix']=15;
  8. $_SESSION['panier']['quantité']=2;
  9. $_SESSION['panier']['groupe']=91;
  10. $_SESSION['panier']['libelle']="mon article";
  11. $_SESSION['panier']['prix']=50;
  12. $_SESSION['panier']['quantité']=5;
  13. $_SESSION['panier']['groupe']=91;
  14. $_SESSION['panier']['libelle']="mon article 4";
  15. $_SESSION['panier']['prix']=27;
  16. $_SESSION['panier']['quantité']=6;


 
... j'ai fouillé toutes les fonctions de tri de array en php.. mais j'ai pas trouvé celle qui me convient (il y en a tellement et elle se ressemblent bcp !)... que feriez vous?
 
Merci d'avance
 
Freed

mood
Publicité
Posté le 08-10-2007 à 12:12:36  profilanswer
 

n°1620484
flo850
moi je
Posté le 08-10-2007 à 12:46:37  profilanswer
 

Code :
  1. function compare($t1,$t2)
  2. {
  3.      return $t1['groupe'] -$t2['groupe'];
  4. }
  5. uasort ($tab, "compare" );


Message édité par flo850 le 08-10-2007 à 13:54:45
n°1621181
freed102
Arayashiki
Posté le 09-10-2007 à 16:11:35  profilanswer
 

merci !
j'ai essayé ta fonction, mais ça ne fonctionnait pas vraiment comme je le souhaitais, les clefs et valeurs avaient l'air d'etre mélangées...  
 
j'ai trouvé ça qui a l'air de tres  bien fonctionner :
 

Code :
  1. function array_sort($array, $key)
  2. {
  3.   for ($i = 0; $i < sizeof($array); $i++) {
  4.       $sort_values[$i] = $array[$i][$key];
  5.   }
  6.   asort  ($sort_values);
  7.   reset ($sort_values);
  8.  
  9.   while (list ($arr_key, $arr_val) = each ($sort_values)) {
  10.         $sorted_arr[] = $array[$arr_key];
  11.   }
  12.   unset($array);
  13.   return $sorted_arr;
  14. }
  15. //je l'utilise comme ça :
  16. $_SESSION['panier']=array_sort($_SESSION['panier'],'groupe');


Message édité par freed102 le 09-10-2007 à 16:12:48

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  trier un tableau multidimensionnel en fonction d'une colonne

 

Sujets relatifs
Fonction min(int,int) en C/C++Fonction à utiliser dans une chaîne de caractère dans Access
vérifier si une valeur existe bien dans un tableau[RESOLU] Trier sur deux tables
Ajouter une colonne dans une table sql en php[Résolu] Javascript Rajout de td en chaine dans un tableau
Variable dans une fonctionprobleme avec la fonction preg_match
Probleme de surcharge d'opérateur et de fonction amiesfonction(quelle image est dans mon clip)
Plus de sujets relatifs à : trier un tableau multidimensionnel en fonction d'une colonne


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR