Boucle while imbriquée

Boucle while imbriquée - PHP - Programmation

Marsh Posté le 27-03-2009 à 19:18:01    

Bonjour,
le but c'est d'afficher toutes les combinaisons de 1111 jusqu'à 9999 donc j'ai écrit le code suivant :

Code :
  1. <?php
  2.  
  3. $i=$i1=$i2=$i3=$i4=1;
  4.  
  5. while($i1 <= 9)
  6.  
  7. {
  8.  
  9.  while($i2 <= 9 )
  10.  {
  11.       while($i3 <= 9 )
  12.        {
  13.             while($i4 <= 9 )
  14.                  {
  15. $i = "$i1$i2$i3$i4";
  16.  
  17. echo "$i<br>";
  18.        
  19.                  $i4++;
  20.                  }
  21.       $i3++;  
  22.  
  23.       }
  24.  $i2++;
  25.  }
  26. $i1++;
  27.  
  28. }
  29.  
  30.  
  31.  
  32. ?>


 
Or, seule la dernière boucle qui incrémentait le $i4 était éxecutée donnant le résultat suivant :
 
1111
1112
1113
1114
1115
1116
1117
1118
1119
 
Merci d'avance,

Reply

Marsh Posté le 27-03-2009 à 19:18:01   

Reply

Marsh Posté le 27-03-2009 à 20:26:27    

Il faut que tu remettes $i4, $i3 et $i2 à zéro dès que tu as terminé la boucle correspondante.  
 
Par contre, pourquoi ne pas faire tout simplement :
for($i = 1111 ; $i<= 9999 ; $i++)
{
echo $i;
}
 
???

Reply

Marsh Posté le 27-03-2009 à 22:54:52    

Merci beaucoup, je ne connais pas vraiment la syntaxe de for, donc j'ai fait par les moyens du bord ^^ mais je vais l'utiliser là.

Reply

Marsh Posté le 28-03-2009 à 10:29:56    

Tu peux aussi n'utiliser qu'une boucle while.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 29-03-2009 à 20:38:01    

Aussi, sauf que, quand j'ai pensé au problème, je voulais des nombres de 4 chiffres seulement, mais je commençais avec 0, l'idée du 1111 m'est venu après. donc je voulais incrémenter les unités, après les dizaines et ainsi de suite ...

Reply

Sujets relatifs:

Leave a Replay

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