Php Dersleri – While & Do While Döngüsü

Mobilhanem.com sitemiz üzerinden anlattığımız/yayınladığımız PHP Derslerimizde  bu derste While & do while döngüsünü  anlatacağım. Döngüleri programlama dillerinde bir işi belli bir koşula bağlı olarak tekrarlamak istediğimiz durumlarda kullanırız. Döngüler işimizi oldukça kolaylaştıran yapılardır. Döngüleri oluştururken koşulu, döngü değişkenini ve döngünün çalıştıracağı kod bloğunu seçmemiz bizim işimizi kolaylaştıracaktır. Döngü oluşturmayı görmeden önce artırma, azaltma, çarpma bölme gibi bazı kısa 4 işlemlerden bahsedelim.

Döngü Değişkeni Kullanımı (Toplama, Çıkarma, Çarpma, Bölme)

Döngü değişkenlerinin normal değişkenlerden bir farkı yoktur ama hızlı yazmak amaçlı bazı kısa kullanımlar yaparız. Bu kullanımları döngü içinde kullanmak şart değil istediğimiz yerde kullanabiliriz. Genel olarak kısa yazımları bir tablo içinde verelim ve birkaç örnek yapalım.

 

Uzun Kullanım Kısa Kullanım Açıklama
$i = $i+1; $i++; Bir artır
$j=$j+$sayi $j+=$sayi; $sayi değişkeni kadar artır
$i = $i-1; $i–; Bir azalt
$j=$j-$sayi $j-=$sayi; $sayi değişkeni kadar azalt
$j=$j*$sayi $j*=$sayi; $j değişkeni ile $sayi değişkenini çarp sonucu $j ye ata
$j=$j/$sayi $j/=$sayi; $j değişkenini $sayi değişkenine böl sonucu $j ye ata

Örnekler:

$i=5;
$i++; // 6 oldu
echo $i."<br/>";
$i+=20; // 26 oldu 
echo $i."<br/>";
$i-=6; // 20 oldu
echo $i."<br/>";
$i/=5; // 4 oldu 
echo $i."<br/>"; 
$i*=3; // 12 oldu 
echo $i."<br/>";

Şeklinde kullanabiliriz.

While Döngüsü Kullanımı

While döngüsünde bizim 1 adet koşulumuz bulunmalıdır ve bu koşula göre döngü içindeki kodlarımız tekrar etmelidir. While döngüsünün yapısı:

<?php

while(KOSUL){
  // koşul sağlandığı sürece yapılacak işlemler

}

?>

şeklinde kullanırız. örnek üzerinden gidecek olursak:

örn: 5 sayısının faktoryelini while döngüsü ile bulalım.

$sayi = 5;
$faktoryel = 1; 
while($sayi>=1) {
	$faktoryel*=$sayi;
	$sayi--;
}
echo "Faktoryel $faktoryel bulundu.";

Kodumuzu açıklayacak olursak:

  • $sayi ve $faktoryel değişkenlerimizi tanımladık.
  • $faktoryel değişkenimizin başlangıç değerine 1 vermemizin sebebi çarpmanın etkisiz elemanı 1 olduğu için. Toplam işlemi yapsak toplamanın etkisiz elemanı olan 0  kullanacaktık.
  • döngümüz başladı koşulumuza baktık 5>=1 TRUE cevabını aldık o zaman döngüye girebiliriz dedik ve döngüye girdik.
  • $faktoryel*=$sayi yukarıdaki tablomuzda vermiştik çarpma işlemi yapıyordu 1*5=5 değerini aldı $faktoryel değerimiz.
  • $sayi değişkeninin değerini 1 azalttık faktoryel kuralımıza uymak için.
  • Faktoryel kuralı : 5!=5*4*3*2*1; şeklindeydi. bizim kodumuzda bu kurala uygun olarak çarpma işlemini yapıyor.
  • Daha sonra tekrar while kısmına geldik ve koşula tekrar baktık 4>=1 TRUE değerini aldık ve yine döngünün içerisine girip aynı işlemleri yaptık.
  • koşulumuz FALSE oluncaya kadar döngümüz çalışmaya devam edecektir.

While kısmı bu kadardı arkadaşlar. Do While döngümüze bakacak olursak:

Do While Döngüsü Yapısı

do while döngüsünün while döngüsünden tek farkı döngüden önce kod çalışır daha sonra koşula bakılır. Yani koşul doğru olmasa bile kodumuz 1 kez çalışmış olur. Do While döngüsünün yapısı aşağıdaki gibi çalışır.

<?php

do{
// kodlarımız
}while(KOSUL)


?>

do while pek fazla kullanılan bir döngü tipi değildir ama bilmenizde tabiki fayda var. Küçük bir örnek yapacak olursak:

Ekrana 5 kere mobilhanem.com yazdıran programımızı do while döngüsü ile yapalım. 

$sayi = 1;
do{
	echo "$sayi - mobilhanem.com <br/>";
	$sayi++;
}while($sayi<=5)

Kodumuzu açıklayacak olursak:

  • $sayi değişkenimizi oluşturduk ve değerini 5 yaptık.
  • do komutu ile kodumuzu 1 kere çalıştırdık.
  • ekrana mobilhanem.com yazdık ve $sayi değerini 1 azalttık.
  • daha sonra koşul sağlanıyor mu diye baktık koşulumuz sağlanmıyor olsa bile bir kere ekrana mobilhanem.com yazacaktı.
  • koşulumuz true cevabını verdi ve tekrar do nun içine döndük ve yine aynı işlemleri yaptık.
  • while içindeki koşul false durumuna gelene kadar kodumuz  mobilhanem.com yazmaya devam edecek.

while ve do while ile örnekler

örn1: Bir sayının bölenlerini ekrana yazdıran programı while ve do while ile yapalım. 

While ile:

$sayi = 10;
$i = $sayi;
while($i>=0) { // $i 0 dan büyük ise devam et
	if($sayi % $i == 0) {
		echo "$i ve -$i sayısı $sayi sayısının bir bölenidir.<br/>";
	}
	$i--;
}

Do While ile:

$sayi = 10;
$i = 0;
do {
	if($sayi % $i == 0) {
		echo "$i ve -$i sayısı $sayi sayısının bir bölenidir.<br/>";
	}
	$i++;
}while($i<=$sayi)

örn2: iki sayıdan büyük olanı bulup, büyük ile küçük arasındaki sayıları ekrana yazdıran programımızı kodlayalım.

While ile:

$sayi1 = 50;
$sayi2 = 100;
if($sayi1>=$sayi2) {
	$kucukSayi = $sayi2;
	$buyukSayi = $sayi1;
}else {
	$kucukSayi = $sayi1;
	$buyukSayi = $sayi2;
}

while($kucukSayi!=$buyukSayi) {
	echo "$buyukSayi-";
	$buyukSayi--;
}

Do While ile

$sayi1 = 50;
$sayi2 = 100;
if($sayi1>=$sayi2) {
	$kucukSayi = $sayi2;
	$buyukSayi = $sayi1;
}else {
	$kucukSayi = $sayi1;
	$buyukSayi = $sayi2;
}

do {
	echo "$buyukSayi-";
	$buyukSayi--;
}while($kucukSayi!=$buyukSayi)

 

Kodumuzu anlatacak olursak:

  • öncelikle sayılarımızın hangisi büyük hangisi küçük bunları bulup $buyukSayi,$kucukSayi değişkenlerine atadık.
  • Daha sonra döngüye girdik ve sayılardan istediğimiz birini seçtik. Ben $buyukSayi değişkenini $kucukSayi değişkenine eşit olana kadar azaltıp ekrana yazdırdım ve ikisi birbirine eşit olduğunda döngü bitti.
  • sizde $kucukSayi değişkenini seçip $buyukSayi ya eşit olana kadar artırıp ekrana yazdırarak pratik yapabilirsiniz.

 

While ve do While döngüsü dersimizi burada sonlandırıyorum arkadaşlar. Bir sonraki dersimiz olan Php Dersleri – For Döngüsü dersimizde görüşmek üzere 🙂

Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı yine konu altından ve Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.

Tüm Php Dersleri için tıklayınız..

 

96

Vehbi Akdoğan

Erzurum Atatürk Üniversitesi Bilgisayar Mühendisliği Mezunu
Web & Android Developer
#erzurumspor

5 Yorum

    • sayfanın en üstüne
      header(“Content-type:text/html; charset=utf-8”);
      kodunu eklersen sıkıntın kalmaz. Sayfanın karakter kodlamasınında utf-8 olmasına dikkat etmelisin.

  • iki değişkenim var değişkenlerden biri sıfır olduğunda diğer değişkendeki değeri nasıl yazdırabilirim.

    $ds1 = 25
    $ds2 = 0

    sonuç = 25 olacak.

    Yardımcı olursanız çok sevinirim. Teşekkürler

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?