PHP

PHP’de Döngüler – 6

Döngüler tekrarlanması gereken işlemlerin gerçekleşmesi için kullanılan yapılardır.

PHP’de birden fazla döngü yapısı mevcuttur. Herbir döngü teknik olarak aynı işlevi yapar, sadece kullanımları farklıdır.

Şimdi PHP’de bulunan döngülere ve kullanımlara bakalım.

for Döngüsü

for döngüsü en çok kullanılan döngü yapısı diyebiliriz. Çünkü, basit uygulanışı ile gerçekleştireceğiniz döngüsel işlevi kolay bir şekilde tamamlıyorsunuz. Bunu da 3 parametre alarak gerçekleştiriyor. Parametreler sırasıyla aşağıdaki gibidir;

1. Parametre : Değişken tanımlama ve değer atama.
2. Parametre : Döngü için koşun/şart belirtme.
3. Parametre : Döngü her döndüğünde yapılacak olan işlem.

<?php

for ( değişken tanımlama; koşul/şart ; her döngüde yapılacak olan işlem)

{
// koşul/şart doğru olduğunda çalışacak olan kod

}

?>

Örneğin ekrana 100 kere Kod5.org yazdırmak istediğimizde for döngüsünü aşağıdaki gibi yazmamız gerekir.

<?php

for ( $sayac = 0 ; $sayac < 100 ; $sayac++)

{

echo "Kod5.org";

}

?>

Burada $sayac isimli bir değişken oluşturduk ve değerini 0 olarak atadık. Daha sonra $sayac değişkeninin değeri 100’den küçük mü diye kontrol ettik eğer, değer 100’den küçükse for döngüsünün süslü parantezlerinin içindeki işlevin çalışması sağlanacak ve $sayac++ ile de her döngü döndüğünde $sayac değişkeninin değeri 1 arttırılacaktır. Bu sayede sürekli değeri artan $sayac değişkeninin değeri 100 olduğunda $sayac < 100 şartına uymadığından döngüden çıkacak.

Sonuç olarak ekrana 100 adet Kod5.org ifadesi çıktılanmış olacak.

while Döngüsü

while döngüsü tek parametreli bir döngüdür. Bu parametre de if ifadesindeki parametre ile aynıdır. Yani sadece koşul/şart belirterek istediğiniz işlemin while döngüsünde gerçekleşmesini sağlayabilirsiniz. Basit olarak bir while örneği yapalım ve daha sonra da for döngüsünde yaptığımız örneği while döngüsü ile gerçekleştirelim.

<?php

$sayi = 1;

while ($sayi == 1)

{

echo "Kod5.org"; // $sayi değişkeni 1 olduğu sürece while döngüsü çalışacak ve ekrana Kod5.org çıktısı verecek.

}

?>

Bu örnekte $sayi değişkenimizi döngümüzün dışında kullanarak tanımladık lakin $sayi değişkenimizin değerini hiçbir yerde değiştirmedik. Bundan dolayı burada kod, sonsuz döngüye girecektir.

Şimdi for döngüsündeki örneği while döngüsü ile yazalım.

<?php

$sayac = 0;

while ($sayac < 100)

{

echo "Kod5.org"; // $sayac değişkeninin değeri 100 den küçük olduğu sürece ekrana Kod5.org çıktısı alacağız.

$sayac++;

}

?>

foreach Döngüsü

foreach döngüsüne dizi döngüsü olarak tanımlayabiliriz. Çünkü diziler üzerinde yineleme yapmayı kolaylaştırmaktadır.

foreach döngüsünü 2 parametreli ve 3 parametreli olarak kullanabiliyoruz.

2 Parametreli foreach

<?php

foreach ($dizi as $deger)

{

// deyim

}

?>

3 Parametreli foreach

<?php

foreach ($dizi as $anahtar => $deger)

{

// deyim

}

?>

[alert style=”yellow”]Diziler hakkında detaylı bilgi almak için PHP’de Diziler / Array – 3 adlı yazımı okuyabilirsiniz.[/alert]

foreach döngüsü bir örnek ile sonlandıralım.

Bir dizimiz olsun ve bu dizi içerisinde bir müşterinin adını, soyadını, doğum tarihini ve yaşadığı şehiri tutalım. Daha sonra da bu dizi içerisindeki verileri düzgün bir şekilde ekrana basalım.

<?php

$musteri = array(
"ad" => "Fatih",
"soyad" => "Çal",
"dogum" => 1990 ,
"sehir" => "İstanbul",
);


foreach($musteri as $anahtar => $deger)

{

echo $anahtar. " - " . $deger . "<br/>";

}

?>

do …. while Döngüsü

do … while döngüsü diğer (for, while) döngüler gibi pek kullanılmaz. Çünkü, do … while döngüsünde koşul/şartı sonda kontrol ettirdiğimiz için koşul/şart sonucu doğru –true– olmasa bile en az bir kere döngü çalışmış oluyor.

Kullanımı:

<?php

do

{

// bu alanda bulunan kodlar 1 kere çalıştıktan sonra alt tarafta koşul kontrolü yapılıyor.

}

while (koşul/şart)

?>

Örnek: Ekrana 1 kere Kod5.org çıktısı alan ve ekrana 10 kere Kod5.org çıktısı alan iki adet do … while döngüsü yazalım.

1 Kere Çıktı Veren do … while Örneği

<?php

do

{

echo "Kod5.org";

}

while(0)

?>

10 Kere Çıktı Veren do … while Örneği

<?php

$sayac = 0;

do

{

echo "Kod5.org"; 

$sayac++; 

} 

while($sayac < 10) 

?>

Yorum Ekle

Online PHP Yorumlayıcı | kod5 için bir yanıt yazın X