Page 1 sur 1

Boucle for()

Posté : 29 oct. 2008, 13:09
par sylvaing26
J'ai un code qui fonctionne parfaitement, mais ce qu'il y a c'est que j'aime bien savoir ce que je code donnc je souhaitre savoir ce que signifie $i++ dans for
for($i = 0; $i < $page_en_cours; $i++)
et aussi pourquoi lorsque l'on fait un système d'affichage en plusieurs pages ou lorsqu'on effecture une boucle on utilise toujours la variable $i
Je ne sais pas si j'ai été clair lol

Merci d'avance

Posté : 29 oct. 2008, 13:13
par Calimero
$i++
est équivalent à
$i=$i+1
. On appelle cela une incrémentation.

On utilise souvent $i comme indice (ou curseur) de boucle par habitude généralement acquise par les développeurs (on aime bien que l'index soit une variable avec un nom court), mais cela n'a rien d'obligatoire :-)

Posté : 29 oct. 2008, 13:16
par sylvaing26
Merci beaucoup.
Ca parait plus logique maintenant, ca va reveiller peut etre une ame de developpeur qui sommeille en moi qui sait. Mais j'avoue que je codait comme ca à partir d'autres codes sans trop savoir leur signification
Merci beaucoup ! :lol:

Posté : 29 oct. 2008, 13:35
par Calimero
Si le sujet t'intéresse je me permets même d'aller un peu plus loin, si on reprend la boucle for que tu nous donnais au départ :
for($i = 0; $i < $page_en_cours; $i++) {
  // Ici, on fait quelquechose d'intéressant
}
Cette écriture est équivalente à celle-ci :
$i = 0;
while($i < $page_en_cours) {
  // Ici, on fait quelquechose d'intéressant
  $i++;
}
Comme ça on voit bien le rôle des trois instructions de la boucle for :
- instruction initiale (avant la boucle)
- test de continuation (si vrai on continue, si non on arrête)
- instruction d'itération (passage à l'élement suivant)

Le tout bien séparé par des ; comme toute instruction en php.

Il est aussi intéressant de remarquer que dans cette boucle for, seule la deuxième instruction (le test) est réellement obligatoire. Les deux autres ne sont que des raccourcis d'écriture. Cela veut dire que :
for(;true;){
  // Cette boucle est valide et fonctionne, mais attention :
  // Quand on l'éxécute, elle ne se termine jamais !
}

Posté : 29 oct. 2008, 13:54
par albat
Cette écriture est équivalente à celle-ci :
$i = 0;
while($i < $page_en_cours) {
  // Ici, on fait quelquechose d'intéressant
  $i++;
}
Il est aussi intéressant de remarquer que dans cette boucle for,
seule la deuxième instruction (le test) est réellement obligatoire.
Les deux autres ne sont que des raccourcis d'écriture.
Tout à fait !
D'ailleurs,...
for (;true;)
    { // Cette boucle est valide et fonctionne, mais attention :
      // Quand on l'éxécute, elle ne se termine jamais !
    }
équivaut à...
while (true)
      { // Ici, on fait quelque chose d'intéressant
      }
Bref, on boucle à l'infini... :langue:

Posté : 29 oct. 2008, 15:01
par sylvaing26
Merci beaucoup
Je doit dire que là tout s'eclaire, je ne voulais jamais m'aventurer dans les boucle while et for et là j'avour que je comprend beaucoup mieux !!

Posté : 29 oct. 2008, 15:11
par Truc
C'est surtout le titre du sujet qui est bête et non pas la question.

Attention à bien définir un titre en relation avec le problème soulevé.

Posté : 29 oct. 2008, 15:26
par albat
Ah ben oui, dis donc !
Je l'avais oubliée, celle-là ! :lol:

Modération :
sylvaing26, merci d'utiliser un titre clair et qui correspond bien à ta demande.
Les titres contenant "HELP !", "Aidez-moi", "J'ai un problème", "Ça marche pas",...
n'apportent rien à la compréhension de ta demande.

Par ailleurs, nous savons déjà par ton message que tu as besoin d'aide.

Tu peux corriger ton titre en éditant ton premier message.

Merci de prendre le temps de lire les règlements.


J'ai corrigé ton titre en éditant ton premier message. ;)

Posté : 29 oct. 2008, 15:31
par sylvaing26
Oups :shock: Sorry !
Je ne le referai plus si je tiens a ma tête !! :lol:

Posté : 29 oct. 2008, 15:39
par albat
Surtout si...
while (true)
      { $moderateur->decapite($sylvaing26);
      }
:shock: :langue:

Posté : 29 oct. 2008, 15:42
par sylvaing26
lol pas mal !!! :langue:
Jvais me tenir alors :agenouille: