[PHP] Probleme de tri d'arrays

Probleme de tri d'arrays [PHP] - PHP - Programmation

Marsh Posté le 19-09-2006 à 01:20:29    

Bonjour, voici mon problème.

 

J'ai un fichier XML que je parse, et je mets le contenu dans un tableau dont le contenu est comme ceci par ex :

 

groupe[0] = array("42", "TPD" )
groupe[1] = array("12", "TPB" )

 

groupe[2] = array("64", "TPC" )

 

groupe[3] = array("25", "TPA" )

 


Le 1er champ de l'array est la "référénce" du groupe de TP (j'en ait besoin ailleurs), le second est le nom du groupe.

 

Je voudrais trier tout ca par "nom de groupe".

 

En gros, je voudrais après tri :

 

groupe[0] = array("25", "TPA" )

 

groupe[1] = array("12", "TPB" )

 


groupe[2] = array("64", "TPC" )

 


groupe[3] = array("42", "TPD" )

 

J'essaye depuis des heures avec array_multisort, mais je ne m'en dépatouille pas !

 

Quelqu'un peut m'éclairer ?

 

D'avance merci.


Message édité par getget le 19-09-2006 à 01:20:43

---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
Reply

Marsh Posté le 19-09-2006 à 01:20:29   

Reply

Marsh Posté le 19-09-2006 à 02:09:50    

Mouais, j'utiliserais plutôt usort pour ça, il me semble pas qu'il soit possible de sauter un champs avec array_multisort.
 
Un truc genre

Code :
  1. function cmp($el1,$el2){
  2.    if ($el1[1] == $el2[1]) {
  3.      return 0;
  4.    }
  5.    return ($el1[1] > $el2[1]) ? 1 : -1;
  6. }
  7. $groupe[0] = array("42", "TPD" );
  8. $groupe[1] = array("12", "TPB" );
  9. $groupe[2] = array("64", "TPC" );
  10. $groupe[3] = array("25", "TPA" );
  11. usort($groupe,'cmp');


 
devrait le faire. (sauf conneries dûes à l'heure tardive :D)

Reply

Marsh Posté le 19-09-2006 à 11:43:46    

Argh, en fait j'ai comprit pourquoi ca ne marchait pas ...
 
Je ne fais aps exactement ca, mais plutot ca :
 
$groupe[42] = array("42", "TPD" );
$groupe[12] = array("12", "TPB" );
$groupe[64] = array("64", "TPC" );
$groupe[25] = array("25", "TPA" );
 
Et usort et array_multisort me renumérotent les index :/


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
Reply

Marsh Posté le 19-09-2006 à 11:50:22    

Avec uasort(), ca marche bien, merci :)


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed