Les instructions break et continue facilitent respectivement la sortie immédiate et l'arrêt pour l'itération en cours d'une boucle suite à une condition particulière nécessitant une action précise.

while(condition)
{
  Bloc d'instructions...
  break;
  // sortie de la boucle avant la prochaîne itération
  Bloc d'instructions...
}

while(condition)
{
  Bloc d'instructions...
  continue;
  /* arrêt de la boucle à l'itération en cours 
     mais passage à l'itération suivante */
  Bloc d'instructions...
}

Dans le cas d'une imbrication de plusieurs boucles, les instructions break et continue peuvent utiliser un argument indiquant le niveau de la ou des boucles à quitter.

for(initialisation; condition; incrémentation)
  while(condition)
    foreach($tableau as $valeur)
    {
      Bloc d'instructions...
      break n;
      Bloc d'instructions...
      continue m;
    }
  endwhile;
endfor;

Si la valeur n est égale 1, alors la sortie de la boucle foreach se produit.
Si la valeur n est égale 2, alors la sortie des boucles foreach et while se produit.
Si la valeur n est égale 3, alors la sortie des trois boucles se produit.

Le fonctionnement est identique pour l'instruction continue m.

Exemple [voir]
<?php
  $tableau = array("5" => "Janvier", "6" => "Février", 
                          "7" => "Mars", "8" => "Avril", "9" => "Mai", 
                          "10" => "Juin", "11" => "Juillet", "12" => "Août", 
                          "1" => "Septembre", "2" => "Octobre", 
                          "3" => "Novembre", "4" => "Décembre");
  // Exemple break
  while(list($cle, $valeur) = each($tableau)){
    if($valeur == 'Juillet'){
      echo "Fin de l'année scolaire !<br>";
      break;
    }
    echo $valeur."<br>";
  }

  // Exemple continue
  while(list($cle, $valeur) = each($tableau)){
    if($valeur == 'Juillet' || $valeur == 'Août') {
      continue;
    }
      echo "Mois d'une année scolaire : ".$valeur."<br>";
  }

  // Exemple break avec paramètre
  $nouveau = true;
  for(;;){
    while(list($cle, $valeur) = each($tableau)){
      if($nouveau && $cle >= 5) continue;
      $nouveau = false;
      echo "Mois N°".$cle." : ".$valeur."<br>";
      if($cle == 12) break 2;
    }
    reset($tableau);
  }
?>