logo
Döngüler belirlenen şartlar sağlandığında tekrar tekrar çalışan, belirtilen şart sağlanmadığında çalışmayı durduran kod bloglarıdır. PHP dilinde 4 adet döngü bulunmaktadır. Bunlar; 1- While döngüsü 2- For döngüsü 3- Do-While döngüsü 4- Foreach döngüsüdür. 1- While Döngüsü : While döngüsünde şart değişkeni döngü dışında tanımlanır, döngü şartı While parantezi içerisinde oluşturulur ve döngü parantezi içerisinde döngü boyunca çalışacak kodlar yazılır. Döngü değişkeni yine döngü parantezi içerisinde işleme tabii tutulur. Örneğin integer türünde bir $i değişkenimiz olsun ve değeri sıfır olsun. $i değişkenimiz 10'dan küçük olduğu sürece ekrana "Değişken 10'dan küçüktür!" yazdırsın ve $i değişkeni değerini bir artırsın. Kodlarımız şu şekilde olacaktır;
<?php
$i = 0; // döngüde kullanılacak değişkeni oluşturduk ve sıfır değerini atadık
while($i<10){ // while komutu ile parantezler arasında döngü şartını belirledik ($i değişkeni değeri 10'dan küçük olduğu sürece döngü devam edecek)
     echo "Değişken değeri 10 dan küçüktür! </br>"; // Ekrana "Değişken değeri 10'dan küçüktür!"
     $i++; // döngü değişkenini bir artırdık
}
?>
Yukarıdaki kodun çıktısı olarak ekrana 10 adet "Değişken 10'dan küçüktür!" yazısı yazdırılır. 2- For Döngüsü : For döngüsünde döngü değişkeni for parantezi içerisinde tanımlanır, yine döngü şartı aynı parantez içerisinde oluşturulup aynı parantez içerisinde döngü değişkeni işleme tabii tutulur. Döngü boyunca çalışacak kodlar ise döngü parantezi içerisine yazılır. Örnek for(donguDegiskeni; sart; artırma-azaltma) şeklinde yapılır. While döngüsünde yaptığımız işlemi şimdi for döngüsü ile yapalım;
<?php
/* for komutu ile parantez içerisinde döngü değişkenini tanımlıyoruz ve sıfır değerini atıyoruz
araya noktalı virgül koyup hangi şartta döngünün devam edeceğini yazıyoruz
ve yine araya noktalı virgül koyup döngü değişkenini işleme tabi tutuyoruz */
for($i=0; $i<10; $i++){ 
     echo "Değişken değeri 10 dan küçüktür! </br>"; // Ekrana "Değişken değeri 10 dan küçüktür!" yazdır.
}
?>
Yukarıdaki kodun çıktısı olarak ekrana 10 adet "Değişken 10'dan küçüktür!" yazısı yazdırılır. Görüldüğü üzere for döngüsü while döngüsüne göre daha basit yapıdadır. 3- Do-While Döngüsü : Do-While döngüsünde döngü değişkeni while döngüsündeki gibi döngü dışında tanımlanır. Döngü "do" komutu ile başlar ve döngü parantezi içerisine girilir, döngü parantezi içerisinde kodlar çalıştıktan ve döngü değişkeni işlemi yapıldıktan sonra while komutu ile şart kontrol edilir. eğer şart sağlanıyorsa döngü devam eder, hayır şart sağlanmıyorsa, döngü sona erer. While ve for döngüsünden farkı olarak şart döngü sonunda kontrol edildiği için, şartlar sağlanmasa dahi döngü kesinlikle bir defa çalışır. Şimdi while ve for döngüsünde yaptığımız örneği do-while döngüsü ile tekrar edelim;
<?php
$i = 0; // döngüde kullanılacak değişkeni oluşturduk ve sıfır değerini atadık
do{ // do komutu ile döngüyü başlattık ve döngü parantezine girdik
     echo "Değişken değeri 10 dan küçüktür! </br>"; // Ekrana "Değişken değeri 10'dan küçüktür!"
     $i++; // döngü değişkenini bir artırdık
}while($i<10); // while komutu ile parantezler arasında döngü şartını belirledik ($i değişkeni değeri 10'dan küçük olduğu sürece döngü devam edecek)
?>
Yukarıdaki kodun çıktısı olarak ekrana 10 adet "Değişken 10'dan küçüktür!" yazısı yazdırılır. 4- Foreach Döngüsü : Foreach döngüsü genelde bir dizinin elemanlarını listelemek için kullanılır. Foreach döngüsünde dizinin her elemanına ulaşılır ve elemanlar döngü değişkenine aktarılır. Dizinin maksimum eleman sayısına ulaşıldığında ise döngü sona erer. Örnek olarak bir önceki dersimizdeki $meyveler dizisini ele alalım. $meyveler dizisinin tüm elemanlarına erişmek için kullanacağımız foreach döngüsü aşağıdaki gibi olacaktır;
<?php
$meyveler = array("Elma", "Armut","Üzüm","Çilek"); // 4 Elemanlı meyveler dizisi oluşturduk
/* foreach komutu ile döngüyü başlatıyoruz
parantezler içerisine indexleyeceğimiz dizi değişkenimizi belirtiyoruz, 
ardından "as" komutu ile dizideki her bir elemanı tutacak olan $elemanlar değişkeni oluşturutoruz*/
foreach($meyveler as $elemanlar){ 
     echo $elemanlar."</br>"; // döngü parantezi içerisine her bir döngüde $elemanlar değişkenine aktarılan değer ekrana yazdırılıyor
}
?>
Peki dizimiz çok boyutlu dizi ise, o halde kodlarımızı aşağıdaki örneğe göre yazıyoruz;
<?php
$okul = array(
    "Kat1" => array("Oda1" => "Tasarım", "Oda2" => "Yazılım","Oda3" =>  "Donanım"),
    "Kat2" =>  array("Oda1" => "Sistem", "Oda2" => "Veritabanı", "Oda3" => "Mikrodenetleyici"),
    "Kat3" => array("Oda1" => "Müdür Odası","Oda2" =>  "Öğretmenler Odası", "Oda3" => "Kantin")
);

foreach($okul as $kat => $odalar){
	echo $kat."<br>";
	foreach ($odalar as $odaAdi){
		echo $odaAdi."</br>";
	}
}
?>
Break ve Contiune Komutu : Break komutu döngü içerisinde kullanıldığı noktada döngüyü sonlandırma işlemi yapar. Örnek olarak for döngümüz ile 0 ile 10 arası sayıları listeleyelim ancak $i değişkenimiz 5 olduğunda döngüyü sonlandıralım;
<?php
for($i = 0; $i < 10; $i++){ // $i değişkeni değeri 10'dan küçük ise döngüye devam et ve değişken değerini her döngüde 1 artır
     if($i == 5){ // eğer $i değişkeni değeri 5 ise
        break; // döngüyü başa döndür
     }
     echo $i."</br>"; //$i değişkeni değerini ekrana yaz
}
?>
Yukarıdaki kodumuzda ekrana 1,2,3,4 yazılır ve döngü şartı sağlandığı halde döngü sonlanır. Continue komutu ise döngü içerisinde kullanıldığı noktada geçerli döngü sona ermeden döngüyü atlayıp başa döner. Örnek olarak for döngümüz ile 0 ile 10 arası sayıları listeleyelim ancak $i değişkenimiz 5 olduğunda döngüyü continue deyimi ile başa döndürelim.
<?php
for($i = 0; $i < 10; $i++){ // $i değişkeni değeri 10'dan küçük ise döngüye devam et ve değişken değerini her döngüde 1 artır
     if($i == 5){ // eğer $i değişkeni değeri 5 ise
        continue; // döngüyü başa döndür
     }
     echo $i."</br>"; //$i değişkeni değerini ekrana yaz
}
?>
Yukarıdaki kodumuzda ekrana 1,2,3,4,6,7,8,9,10 yazılır. Görüldüğü üzere ekrana 5 değeri yazılmadan 6'ya geçti.
  • Yazar : Samet Karaca
  • Ekleme Tarihi : 08.01.2018
  • Görüntülenme : 731
  • Kategorideki diğer Dersleri : PHP
  • Facebook Twitter Google Plus Freelyshout Youtube Web Site
Bu Dersi Beğendiniz mi?

0% YARARLI

KATEGORİLER