do-while döngüsü, while döngüsüne çok benzer; farkı, doğrulama ifadesinin her yinelemenin başında değil sonunda değerlendiriliyor olmasıdır. while döngüsü ile temek farklılık, do-while kullanıldığında ilk yinelemenin daima yapılıyor olmasıdır (ifadenin doğruluğuna yalnızca yinelemenin sonunda bakılır); halbuki while döngüsünde, ifadenin doğruluğuna her yinelemenin öncesinde bakılmakta ve ifadenin sonucu doğru değilse yineleme hiç başlatılmadan döngü sonlandırılmaktadır.
do-while döngüsü için yalnızca tek bir sözdizimi mevcuttur:
<?php
$i = 0;
do {
echo $i;
} while ($i > 0);
?>
Yukarıdaki döngü tam olarak bir defa çalışacaktır, ilk tekrardan sonra
ifadenin doğruluğuna bakıldığında FALSE
değerini verecek
($i sıfırdan büyük değildir) ve döngünün çalışması
sonlanacaktır.
<?php
do {
if ($i < 5) {
echo "i yeterince büyük değil";
break;
}
$i *= $çarpan;
if ($i < $alt_sınır) {
break;
}
echo "i uygun";
/* i değerini işle */
} while (0);
?>
Burada neler olup bittiğini anlamadıysanız endişelenmeyin. Bu 'özelliği' kullanmadan da oldukça gelişmiş ve güçlü uygulamalar geliştirebilirsiniz. PHP 5.3.0'dan beri bu özelliğin yerine goto kullanılabilmektedir.