Döngüler | PHP 07 Kasım 2017
Süleyman Kandilci Dersler, PHP,

PHP'de tekrarlamasını istediğimiz yapıları döngüler sayesinde oluşturabiliriz. Listeleme, toplu işlemler ve benzeri yapılarda döngüleri kullanabilirsiniz. PHP'de dört adet döngü türü vardır. Bunlar:

  • while
  • For
  • Foreach
  • Do...While döngüleridir.

  • While döngüsünü mantığı if mantığıyla aynıdır. Döngünün koşulu sağlandığı sürece döngü tekrar eder

    $x = 1;
    while ($x <= 10) {
    	echo $x.", ";
    	$x++; //x değerini bir arttırdık
    }

    Yukardaki döngünün çıktısı "1, 2, 3, 4, 5, 6, 7, 8, 9, 10," şeklinde olacaktır. Yani x değeri 10'dan küçük veya eşit olana kadar döngümüz devam edecektir


    For döngüsünde 3 parametre girilir. Birinci parametre döngüde kullanılacak olan değişkenin değerini ve değerini tanımlar, ikinci parametre koşulu belirtir, üçüncü parametre ise her döngüde yapılacak işlemi belirtir.

    for ($i=0; $i < 3 ; $i++) { 
    	echo $i;
    }

    Yukardaki yapı ekranda 012 çıktısını verecektir.


    Foreach döngüsü dizi içerisindeki eleman sayısı kadar döner. Parametredeki as komutundan sonraki değer verilen parametrenin sırasına göre değerini alır. Listeleme yapmak için ideal bir yöntemdir.

    $kis = "";
    $aylar = array("Aralık", "Ocak", "Şubat");
    foreach ($aylar as $ay) {
    	$kis .="$ay, ";
    }
    echo "Kış Ayları: ".$kis;

    Yazdığımız kodun çıktısı Kış Ayları:Aralık, Ocak, Şubat, şeklinde olacaktır

    Eğer Foreach döngüsünü dizinin anahtar değerine göre döndürmek istiyorsak aşağıdaki şekilde kullanılır

    $aylar = array("ilk" => "Aralık", "ikinci" => "Ocak", "üçüncü" => "Şubat");
    foreach ($aylar as $anahtar => $aylar ) {
    	echo "$anahtar ay: $aylar | ";
    }
    

    Çıktı: ilk ay: Aralık | ikinci ay: Ocak | üçüncü ay: Şubat |


    do...while döngüsü pek sık kullanılmaz. Ama bilmekte fayda var. Bu döngüde dize bir kere koşulsuz olarak çalışır daha sonra ise while koşuluna göre tekrar eder ya da etmez.

    $x = 0;
    do{
    	echo "$x ";
    	$x++;
    }while ($x <= 9)

    Çıktı: 0 1 2 3 4 5 6 7 8 9


    Bir döngüyü durdurmak için break komutu kullanılır. Bu komutu döngünün içine eklersek koşul uygun olsa bile döngü durur.

    $x = 0;
    while ($x <= 9){
    	echo $x;
    	if($x==5){
    		break;
    	}
    	$x++;
    }

    Normalde 9'a kadar devam etmesi gerekirken döngü içerisine yazmış olduğumuz komut 5'e kadar yazdırdı. Yani çıktımız şu şekilde oldu: 012345