(PHP 4, PHP 5, PHP 7, PHP 8)
  Les boucles do-while ressemblent beaucoup
  aux boucles while, mais l'expression est
  testée à la fin de chaque itération plutôt
  qu'au début. La principale différence par rapport
  à la boucle while est que la
  première itération de la boucle
  do-while est toujours exécutée
  (l'expression n'est testée qu'à la fin de
  l'itération), ce qui n'est pas le cas lorsque vous
  utilisez une boucle while (la condition
  est vérifiée dès le début de chaque itération, et si elle
  s'avère false dès le début, la boucle sera immédiatement arrêtée).
 
  Il n'y a qu'une syntaxe possible pour les boucles do-while :
  
<?php
$i = 0;
do {
    echo $i;
} while ($i > 0);
?>
  La boucle ci-dessus ne va être exécutée
  qu'une seule fois, car lorsque l'expression est
  évaluée, elle vaut false (car
  la variable $i n'est pas plus grande que 0) et l'exécution
  de la boucle s'arrête.
 
  Les utilisateurs familiers du C sont habitués à
  une utilisation différente des boucles
  do-while , qui permet de stopper
  l'exécution de la boucle au milieu des instructions, en
  encapsulant dans un do-while(0) la
  fonction break.
  Le code suivant montre une utilisation possible :
  
<?php
do {
    if ($i < 5) {
        echo "i n'est pas suffisamment grand";
        break;
    }
    $i *= $factor;
    if ($i < $minimum_limit) {
        break;
    }
   echo "i est bon";
    /* ...traitement de i... */
} while (0);
?>
  Il est possible d'utiliser l'opérateur
  goto
  au lieu de ce bidouillage.