tableau associatif de tableau

tableau associatif de tableau - PHP - Programmation

Marsh Posté le 14-09-2006 à 17:58:11    

Je souhaite faire un tableau associatif de tableau, mais je ne sais pas comment faire...
Voila mes valeurs dans la bd que j'obtiens à chaque boucle :
1 / toto
1 / titi
2 / tutu
je sais pas comment l'écrire mais en perl je ferais : $tab[$row["col1"]]=$row["col2"]
 
mais en PHP je ne sais pas...
quelqu'un peut m'aider ?
PS je ne sais pas si j'ai été très clair...
 
Merci


---------------
Jérôme
Reply

Marsh Posté le 14-09-2006 à 17:58:11   

Reply

Marsh Posté le 14-09-2006 à 17:59:31    

C'est bon ce tu fais :)

Reply

Marsh Posté le 14-09-2006 à 18:08:53    

Ben non, ca ne fais pas exactement ce que je veux...
quand je dump ma variable il me dit :
array(2) { [1]=>  string(7) "titi" [2]=>  string(8) "tutu" }  
 
et moi je voudrais quelquechose comme :
array(2) { [1]=>  array(2) { [1]=>  string(7) "toto" [2]=>  string(8) "tutu" } [2]=>  string(8) "tutu" }  
 
 :??:


---------------
Jérôme
Reply

Marsh Posté le 14-09-2006 à 18:15:01    

Code :
  1. $tab = array (
  2.   'champ1' => array('champ' => 'blabla', ..., 'champ4444' =>'blabla'),
  3.   'champ2' => array('champ' =>'blabla', ...,'champ444444' => 'blabla')
  4. );


---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 14-09-2006 à 18:19:41    

jejeman a écrit :

Je souhaite faire un tableau associatif de tableau, mais je ne sais pas comment faire...
Voila mes valeurs dans la bd que j'obtiens à chaque boucle :
1 / toto
1 / titi
2 / tutu
je sais pas comment l'écrire mais en perl je ferais : $tab[$row["col1"]]=$row["col2"]
 
mais en PHP je ne sais pas...
quelqu'un peut m'aider ?
PS je ne sais pas si j'ai été très clair...
 
Merci


en perl ce que tu as écrit ça fait juste un hash, pas un hash de tableau hein [:mlc]
Et le pire c'est que si c'est une hash ton écriture est pas bonne vu que ça devrait être ( en admettons que row est bien un hash également et pas un pointeur sur hash):

Code :
  1. $tab{$row{"col1"}} = $row{"col2"}


 
Donc pour clarifier ta demande tu veux simplement une hash ou vraiment un tableau associatif ayant pour valeur un tableau ( enfin une référence)???
Nan arce que même ton exemple est pas clair! la tu as un tableau comme clé :o

Reply

Marsh Posté le 14-09-2006 à 18:24:09    

OK anapajari pour les accolades, c'était pour l'exemple...  ;)  
En fait je veux un tableau associatif ayant pour valeur un tableau


---------------
Jérôme
Reply

Marsh Posté le 14-09-2006 à 20:49:11    

en fait je voudrais un truc comme ça :

Code :
  1. array_push($tab[$row["col1"]], $row["col2"])


Mais ça ne marche pas...


---------------
Jérôme
Reply

Marsh Posté le 15-09-2006 à 03:54:16    

quelqu'un a regardé ma réponse ? [:dawa]


---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 15-09-2006 à 09:02:34    

jejeman > En gros, tu veux soit faire un :
 

Code :
  1. $montableaudetableau[]=array($montableau,'mavaleur1');


 
soit
 

Code :
  1. $montableaudetableau['macase']=array($montableau,'mavaleur1');


 
zapan666 > Ta réponse est bonne s'il crait le méga gros tableau en une fois, mais s'il veut rajouter des cases plus loin, ca ne convient plus.

Reply

Marsh Posté le 15-09-2006 à 10:44:42    

Bon j'ai ma solution, maisc'est un peu bidouille....
Ca me paraissait plus simple en perl...  ;)  
Voila :

Code :
  1. $tSalle=''; $tbTemp = array(); $sAncienNum = '';
  2.           while($row = mysql_fetch_assoc($result))
  3.           {
  4.             if($sAncienNum != $row['num_salle'])
  5.             {
  6.               // on change de num_salle : on crée un nouveau tableau
  7.               $tSalle[$row['num_salle']] = array();
  8.               array_push($tSalle[$row['num_salle']], $row['nom_med']);
  9.               $sAncienNum = $row['num_salle'];
  10.             }
  11.             else
  12.             {
  13.               // toujours même salle, on ajoute au tableau
  14.               array_push($tSalle[$row['num_salle']], $row['nom_med']);
  15.             }
  16.           }


Ce qui me donne bien :

Code :
  1. array(2) { [1]=>  array(2) { [0]=>  string(8) "toto" [1]=>  string(7) "titi" } [2]=>  array(1) { [0]=>  string(8) "tutu" } }


 
Merci à tous


Message édité par jejeman le 15-09-2006 à 10:45:03

---------------
Jérôme
Reply

Sujets relatifs:

Leave a Replay

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