 
Cet exemple affiche
  12345678910
for ($x = 1; $x <= 
  10 ; $x++)
    echo $x;
$x = 1 : a la 
  base, $x est initialisé à 1
  $x <= 10 : 
  Condition permettant de sortir de la boucle
  $x++ : $x est 
  augmenté de 1 à chaque passage (équivalence : $x 
  = $x + 1)
La théorie est :
for (Initialisation de la variable ; Condition booléenne définissant l'arrêt de la boucle ; instruction exécutée à chaque tour de boucle)
Première manière d'écrire :
for ($i = 1;$i <= 
  10;$i++) 
    {
    }
  print $i;
deuxième manière d'écrire, le résultat est strictement le même
for ($i = 1;;$i++) 
  
    {
    if ($i > 10) 
      break;
    }
  print $i;
Dans les 2 cas, l'affichage est 
  11
Cette boucle for commence par initialiser $a à 1 et $b à 5. à chaque tour de boucle, $a est incrémenté de 1 et $b est incrémenté de 5. La boucle elle-même est totalement vide (2 accolades vides). A la fin de l'exécution de la boucle, on affiche la valeur de $a et de $b
for ($a 
  = 1, $b = 5 ; 
  $a <= 3 ; 
  $a++, 
  $b+=5) 
    {
    }
  echo $a;
  echo $b;
Lors de l'entrée dans la boucle (premier passage):
  $a = 1 - $b = 5
2ème passage :
  $a = 2 - $b = 10
3ème passage :
  $a = 3 - $b = 15
4ème passage : 
  $a = 4 - $b = 20
et comme la condition $a <= 3 n'est plus remplie, on sort de la boucle pour 
  afficher :
  420
$i = 1;
  while ($i <= 10)
    {
    echo "$i ";
    $i++;
    }
-