La boucle for se démarque par sa compacité puisqu'elle contient entre parenthèses trois expressions permettant de l'initialiser (ex : i = 0;) de poser une condition à son terme (ex : i > 10) et de l'incrémenter ou décrémenter automatiquement (ex : i++).

for (initialisation; condition; incrémentation)
{
  bloc d'instructions...
}

for($i = 0; $i < 10; $i++)
{
   echo $i.'&nbsp;';
}
//Affiche : 0 1 2 3 4 5 6 7 8 9

Le bloc d'instructions à exécuter dans une boucle for peut être contenu soit à l'intérieur d'accolades, soit une instruction de terminaison spéciale endfor indique sa fin.

for (initialisation; condition; incrémentation):
  bloc d'instructions...
endfor;

for($i = 0, $j = 10; $i + $j < 10000; $i+=2, $j--):
  echo 'La somme de '.$i.' et '.$j.' est égale à '.($i + $j).'<br/>';
endfor;
/* Affiche :
La somme de 0 et 10 est égale à 10
La somme de 2 et 9 est égale à 11
La somme de 4 et 8 est égale à 12
...
La somme de 19976 et -9978 est égale à 9998
La somme de 19978 et -9979 est égale à 9999*/

Littéralement, cette boucle accomplit des opérations à partir d'un état initial et jusqu'à une certaine condition par pas de tant.

La boucle foreach est utilisée exclusivement pour les tableaux ou toutes autres structures tabulaires.

A chaque itération, l'instruction foreach extrait chaque valeur d'un tableau en la rendant disponible dans le bloc d'instructions.

foreach ($tableau as $valeur)
{
  bloc d'instructions...
}

$tableau = array("January" => "Janvier", "February" => "Février", 
                          "March" => "Mars", "April" => "Avril", "May" => "Mai", 
                          "June" => "Juin", "July" => "Juillet", "August" => "Août", 
                          "September" => "Septembre", "October" => "Octobre", 
                          "November" => "Novembre", "December" => "Décembre");
foreach ($tableau as $valeur => $cle)
{
  echo $cle.' est traduit en fançais par '.$valeur.'<br>';
}

Littéralement, cette boucle accomplit des opérations pour chaque valeur d'un tableau.

Exemple [voir]
<?php
  $nb = 0;
  $page = 8;
  $total = 256;

  if ($total % $page == 0) $inc = $total / $page;

  $resultat = '<table><tr><th style="font-size:14pt" colspan="' . $page . '">'
              . 'Tableau de caractères ISO-8859-1</th></tr><tr>';

  for ($i = 0; $i < $page; $i++)
  {
    $limite = $nb + $inc;
    $resultat .= '<td><table border = "1">'
                 . '<tr><th>Index</th><th>caractère</th><th>Entité</th></tr>';
    for ($j = $nb; $j <= $limite - 1; $j++)
    {
      $resultat .= '<tr><th>' . $j . '</th><td>' . chr($j)
               . '</td><td>&#' . $j . ';</td></tr>';
    }
    $resultat .= '</table></td>';
    $nb = $limite;
  }

  $resultat .= '</tr></table>';

  echo $resultat;
?>