trier plusieurs tableau de mem dimension avec un unique ?

trier plusieurs tableau de mem dimension avec un unique ? - PHP - Programmation

Marsh Posté le 03-11-2005 à 02:50:14    

je voudrais savoir s'il est possible de trier plusieurs tableau en suivant le premier :
 
exemple :  
[cpp]
$array1=array("5","8","12","2","21","64" );
$array2=array("pop","popo","papa","bebe","mam","maman" );
$array3=array("i","iii","iii","iii","iiiii","iiiii" );
 
// par exemple faire une fonction qui tri $array1 et les autres $array2 et $array3 suivent le tri du 1er :
 
asort($array1)
function_array()
---> me retourne :
pour array 2 et array 3
$array2b=array("bebe","pop","popo","papa","mam","maman" )
$array3b=array("iiii","i","ii","iii","iiiii","iiiiii" );
 
c possible ??????????????
quelqu'un connait une fonction ?

Reply

Marsh Posté le 03-11-2005 à 02:50:14   

Reply

Marsh Posté le 03-11-2005 à 09:19:42    

Tu pourrait être un peu plus clair?

Reply

Marsh Posté le 03-11-2005 à 09:52:43    

Bonjour,
 
array_multisort($array1, $array2, $array3);

Reply

Marsh Posté le 03-11-2005 à 10:39:06    

dwogsi a écrit :

Tu pourrait être un peu plus clair?


 
ben je sais pas je trouve ca clair :

Code :
  1. asort($array1)
  2. function_array()
  3. ---> me retourne :
  4. $array1=sort($array1);
  5. // ie tableau array1 passe de la position initiale [0,1,2,3,4,5] -> [3,0,1,2,4,5]
  6. // array 2 idem [0,1,2,3,4,5] -> [3,0,1,2,4,5]
  7. // array 3 idem [0,1,2,3,4,5] -> [3,0,1,2,4,5]
  8. // sauf que pour trouver l'ordre du tabelau je vuex utiliser une fonction du style sort($array1) sur un tableau et qu'en  
  9. // fonction les deux autres soient trier dans le meme ordre !
  10. pour array 2 et array 3
  11. $array2b=array("bebe","pop","popo","papa","mam","maman" )
  12. $array3b=array("iiii","i","ii","iii","iiiii","iiiiii" );


 
c'est plus clair ?
l'exemple est clair pour moi, je vois pas comment je pourrais l'exprimer mieux :(
Merci

Reply

Marsh Posté le 03-11-2005 à 12:33:22    

Pitié !!!!!!!!!!!!! j'en peux plus !

Reply

Marsh Posté le 03-11-2005 à 12:36:42    

mouais, moi je dirais soit :
- revois la conception
 
soit
- tries ton tableau source, récupères les clefs triées via array_keys() et énumères dans cet ordre tes autres tableaux

Message cité 1 fois
Message édité par shakpana le 03-11-2005 à 12:38:17

---------------
Il faut toujours arrondir les angles -- Raymond Poincaré (à moins que ce soit de Cicéron)
Reply

Marsh Posté le 03-11-2005 à 12:42:01    

shakpana a écrit :

mouais, moi je dirais soit :
- revois la conception
 
soit
- tries ton tableau source, récupères les clefs triées via array_keys() et énumères dans cet ordre tes autres tableaux


 
j'ai penser a cette solution mais je ne m'en sors pas... tu veux pas me lancer un debut de trame pour deux tableaux pour que je puisse etre lancé correctement ?
merci  
je vais essayer de mon coté !

Reply

Marsh Posté le 03-11-2005 à 13:14:07    

mouais ;)

Code :
  1. $array1 = array ( "5", "12", "8" );
  2. $array2 = array ( "value5", "data12", "option8" );
  3.  
  4. asort ( $array1 );
  5.  
  6. $keys_sorted = array_keys ( $array1 );
  7.  
  8. foreach ( $keys_sorted as $key) {
  9.    echo $array2[$key]."<br />\n";
  10. }


 
bon, spa optimal comme soluce, vu que tes arrays doivent avoir les mêmes clés, et en même nombre => gestion d'erreur à la con ...
mais bon ...


---------------
Il faut toujours arrondir les angles -- Raymond Poincaré (à moins que ce soit de Cicéron)
Reply

Sujets relatifs:

Leave a Replay

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