PHP While deyimi PHP’de yer alan en basit döngüdür. Aynı C’deki gibi çalışır. PHP While deyimi ifade true olduğu sürece kapsama alanındaki deyimleri tekrar tekrar yürütür.
PHP while deyiminin söz dizimi aşağıdaki gibidir:
while (condition) {
statement;
}
PHP While deyimi ilk olarak koşulu (condition) sorgular. Koşul true döndürürse kodlar (statement) çalıştırılır. Ardından kodlar en başa döner ve ifade yeniden değerlendirilir. Eğer hala true ise kodlar yeniden çalıştırılır. Bu döngü koşul false döndürene kadar devam eder. Eğer koşul false döndürürse döngü sonlandırılır ve devamındaki kodlar çalıştırılmaz.
PHP While deyiminde tek bir satır kod varsa parantez kullanmak zorunlu değildir. Ancak birden fazla satır kod varsa parantez kullanılmalıdır.
while (condition)
statement;
PHP While
Aşağıdaki PHP while örneğinde 1’den 5’e kadar sayıları yazdırdık. Bu örnekte $i adlı bir değişken tanımlayıp 1 verisini verdik. PHP While döngüsünü oluşturduk ve koşul olarak $i 5’ten küçükse koşulunu belirttik. Döngü kapsamında echo ile “Sayı: $i” şeklinde sayıları yazdırdık ve ” ” ile döngü her döndüğünde bir boşluk verecek şekilde ayarladık. Ardından $i++ ile döngünün her döndüğünde $i değişkeninin verisinin 1 artmasını sağladık.
İpucu: Döngülerde her döndüğünde verinin (sayının) bir artmasını veya azalmasını -kısaca sayının değişmesini- sağlamazsak, infinite loop dediğimiz sonsuz döngü durumuyla karşı karşıya kalırız. Döngüdeki koşul sürekli true döndüreceği için tarayıcı aşırı kaynak kullanımından çökene kadar veya sunucu maksimum çalıştırma zamanı aşımı limitinden (bkz: php max execution time limit) scripti durdurana kadar çalışmaya devam eder.
$i = 1;
while ($i < 5) {
echo "Sayı: {$i}
";
$i++;
}
/*
* Çıktı:
Sayı: 1
Sayı: 2
Sayı: 3
Sayı: 4
*/
Aşağıdaki PHP While örneğinde 60’dan 120’e kadar (120 dahil) 10 atlayarak sayıları yazdırdık. Bu örnekte $x adlı bir değişken tanımlayıp 60 verisini verdik. PHP While döngüsünü oluşturduk ve koşul olarak $x 120’den küçükse veya 120’e eşitse koşulunu belirttik. Döngü kapsamında echo ile “Sayı: $x” şeklinde sayıları yazdırdık ve ” ” ile döngü her döndüğünde bir boşluk verecek şekilde ayarladık. Ardından $x+=10 ile döngünün her döndüğünde $x değişkeninin verisinin 10 artmasını sağladık.
$x = 60;
while ($x <= 120) {
echo "Sayı: {$x}
";
$x+=10;
}
/*
* Çıktı:
Sayı: 60
Sayı: 70
Sayı: 80
Sayı: 90
Sayı: 100
Sayı: 110
Sayı: 120
*/
PHP While Alternatif Söz Dizimi (Alternative Syntax)
PHP kontrol ifadelerinde alternatif (iki noktalı) söz dizimi imkanı vardır. PHP While deyiminde alternatif söz dizimi aşağıdaki gibidir. Süslü parantezli varsayılan söz diziminden tek farkı ifadeden sonra süslü parantez açmak yerine iki nokta eklememiz ve kodlar bitince süslü parantezi kapatmak yerine endwhile; deyimini eklememizdir.
while (condition):
statement;
endwhile;
PHP While alternatif söz dizimini şu şekilde örnekleyebiliriz.
Aşağıdaki PHP While örneğinde 25’ten 50’e kadar 5 atlayarak sayıları yazdırdık. Bu örnekte $x adlı bir değişken tanımlayıp 25 verisini, $y adlı bir değişken tanımlayıp 50 verisini verdik. PHP while döngüsünü oluşturduk ve koşul olarak $x, $y’den küçükse koşulunu belirttik. Döngü kapsamında echo ile “Sayı: $x” şeklinde sayıları yazdırdık ve ” ” ile döngü her döndüğünde bir boşluk verecek ayarladık. Ardından $x+=5 ile döngünün her döndüğünde $x değişkeninin verisinin 5 artmasını sağladık.
$x = 25;
$y = 50;
while($x < $y):
echo "Sayı: {$x}
";
$x+=5;
endwhile;
/*
* Çıktı:
Sayı: 25
Sayı: 30
Sayı: 35
Sayı: 40
Sayı: 45
*/