DO WHILE fungerar exakt likadant som en WHILE sats med ett undantag; den första delen, den sk. evalueringen bräknas alltid minst en gång. Se följande exempel:

$klockan = 12;
DO {
  print "Klockan är nu " . $klockan . "<br>";
  $klockan--;
} WHILE ($klockan > 6);

$klockan-- betyder att värdet sänks med 1 för varje genomräkning.

Det som syns på skärmen blir:

12
11
10
9
8
7

Det var väl knappast upphetsande, men vad händer om vi ändrad $klockan till ett värde under 6?

$klockan = 1;
DO {
  print "Klockan är nu " . $klockan . "<br>";
  $klockan--;
} WHILE ($klockan > 6);

Det som då syns på skärmen är

1

D.v.s. första delen där klockans värde beräknas skrivs alltid ut.