do-while Döngüsü

Belirtilen koşul sağlandığı sürece dönen döngülerdir. Bu döngü en az bir kere çalışır sonra koşula bakar. Koşul sağlandığı sürece de çalışmaya devam eder. While döngüsünde ise döngüye girebilmek için de koşulun sağlanmış olması gerekmekteydi. while ile do-while döngüsü arasındaki tek fark budur.
Kullanımı şöyledir.

do{
// döngü içinde çalışacak kodlar
}while(/*koşul*/);

Burada, program akışına göre döngüye doğrudan girilir. Yani döngü her halükarda bir kere çalışır. Sonra koşula bakılır ve koşula göre döngü çalışmaya devam eder yada etmez.

 

Örnek: üretilen sayı 45 olana kadar sayı üretelim ve ekrana yazdıralım.

<?php
do{
   $sayi=rand(1,100);
}while($sayi!=45);

echo "Bulunan sayı: $sayi";
?>

 

Örnek: Rastgele üretilen 10 sayının toplamını ekranda 15+41+10+6+4+.....+54=541 şeklinde gösterelim.

<?php
$toplam=0;
$sayac=0;
do{
   $sayi=rand(1,100);
   $toplam+=$sayi;
   $sayac++;
   echo ($sayac==1)?"$sayi":"+$sayi";
}while($sayac<10);

echo "=$toplam";
?>

 

Örnek: Tanımlı olan metni küçükten büyüğe doğru yazdıralım.

<?php
$metin="Bilenler yapar bilmeyenler öğretir.";
$boyut=1;
do{
   echo "<p style='font-size:$boyut;'>$metin</p>";
   $boyut++;
}while($boyut<50);
?>

 

Örnek: En az 1 satırlı olmak şartıyla tanımlı olan sayı kadar satıra sahip 3 sütunlu bir tablo oluşturalım.

<?php
$satir=5; // $satir=0 olsa dahi tabloya en az 1 satır eklenecektir. 
$sayac=0;
echo "<table border=\"1\">";
do{
	echo "<tr>";
	echo "<td width=\"50\">&nbsp;</td>";
	echo "<td width=\"50\">&nbsp;</td>";
	echo "<td width=\"50\">&nbsp;</td>";
	echo "</tr>";
	$sayac++;
}while($sayac<$satir);
echo "</table>";
?>