boucle while imbriquée dans un array contenant des array

Eléphant du PHP | 139 Messages

12 janv. 2009, 00:16

Bonsoir,

Petit souci avec les array()

Le principe
Un tableau x qui contient 3 autres tableaux a, b, c
Une première boucle while parcours le tableau x
Imbriqué à la première boucle while, une 2eme boucle while parcours le tableau a (puis b et c)

exemple de code (qui ne marche pas, et pour cause, je vous sollicite)
//Première boucle 
$i=0;
while($i<3){
   $j=0;
   //Le tableau x contenant 3 tableaux a, b, c
    $tableau_x=array($tableau_a[$j],$tableau_b[$j],$tableau_c[$j]);
   //Deuxième boucle
    while( $j<15){
       //Affiche le contenu du tableau a, b, et c
       echo  $tableau_x[$i];
        $j++;   	
	}
$i++;	
}
Le nombre des éléments contenus dans chaque tableau a, b et c s'affiche.
Mais le problème est que j'affiche toujours le même contenu pour chaque tableau. A savoir la première donnée de chaque tableau qui correspond à $j =0.
L'incrémentation de $j ne se fait pas ( $tableau_x[$tableau_a[$j]];).

J'ai dû loupé un truc...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

12 janv. 2009, 01:31

L'incrémentation de $j se fait bien mais tu ne l'utilise pas lorsque tu l'incrémentes, et tu le remet à 0 lorsque tu l'utilises :
  $j=0; 
   //Le tableau x contenant 3 tableaux a, b, c 
    $tableau_x=array($tableau_a[$j],$tableau_b[$j],$tableau_c[$j]); 
Ton $j est toujours à 0 lorsque tu construits ta variable $tableau_x. Cette instruction devrait se trouver dans ton second while pour profiter de l'incrémentation de $j :)
   //Deuxième boucle 
    while( $j<15){ 
       $tableau_x=array($tableau_a[$j],$tableau_b[$j],$tableau_c[$j]); 
       //Affiche le contenu du tableau a, b, et c 
       echo  $tableau_x[$i]; 
        $j++;        
    } 
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 139 Messages

12 janv. 2009, 02:16

Mais, c'est bien sûr!

Merci beaucoup Ryle et bonne nuit ;-))))

ViPHP
fab
ViPHP | 2657 Messages

12 janv. 2009, 03:44

Un petit clique sur le bouton résolu est c'est parfait :)

Ca évite de lire un sujet en entier alors qu'on a déjà trouvé chaussure à sa taille :)
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }