PHP while Döngüsü

Bir işi birden fazla yapmak için döngüleri kullanırız demiştik. PHP’de bize yardımcı olması amacıyla diğer bir döngü olan while döngüsüne bakalım. Aşağıda while döngüsünün yapısını gösterdim.

<?php
while(KOŞUL){
    YAPACAĞIMIZ İŞLEM
}
?>

Bütün döngülerde döngünün çalışabilmesi için koşulun TRUE olması lazım. Eğer koşulumuz FALSE ise döngüden çıkar. While döngüsünden önce koşula bakılır. Sonra işlemler yapılır. for döngüsüne göre daha basittir. Sadece tek bir parametre alır. Örnek olarak bizim for döngüsü ile yaptığımız 5 kere ekrana kendi adımızı yazdırmayı while döngüsü ile tekrar yapalım.

<?php
$i=1;
while($i<=5){
    echo "Umut Tepe<br>";
	$i++;
}
?>

Yukarıdaki kodu çalıştırdığımızda 5 kere alt alta Umut Tepe yazdığını göreceksiniz. Yaptığımız kodu inceleyelim.

Önce i değişkenine 1 değerini aktarmışız. Daha sonra “$i<=5” diye kontrol ettirdik. Eğer sayımız 5’den küçük ve eşit ise aşağı in ve işlemleri yap dedik. Eğer büyük olsaydı döngüye girmeden çıkacaktı. Daha sonra ekrana “Umut Tepe<br>” diye yazdırdık. Daha sonra i değişkenini 1 arttırıyoruz. Daha sonra while tekrar koşula bakıyor ve işlemler tekrarlanıyor. Koşulumuz FALSE olduğu zaman yani i değişkenimiz 6 değerini aldığı zaman döngüden çıkıyor ve işlem bitiyor.

for döngüsü ile yaptığımız herşeyi while döngüsü ile de yapabiliriz. Örnek olarak sayının faktöriyelini bulalım.

<?php
$sayi = 6;
$sonuc = 1;
$i=1;
while($i<=$sayi){
    $sonuc *= $i;
    $i++;
}
echo $sonuc;
?>

Yukarıdaki kodu çalıştırdığımızda 720 sonucunu göreceğiz.

Eğer yapacağımız işlem tek satır ise süslü parantezleri kullanmayabiliriz.

Örnek: 1’den 10’kadar olan sayıların çarpımını bulalım.

<?php
$i=1;
$sonuc=1;
while($i<10){
    $sonuc *= $i;
    $i++;
}
echo $sonuc;
?>

Çıktı olarak 3628800 sonucunu göreceğiz.

Örnek: Rastgelen girilen  10 sayının 2 ve 3 katı olanları ekrana yazdıralım.

<?php
$i=1;
while($i<=10){
    $sayi = rand();
	if($sayi%2==0 && $sayi%3==0){
		echo $sayi."<br>";	
	}
    $i++;
}
?>

Her çalıştırdığımızda rastgele sayı üreteceği için sonuçlar farklı olacaktır. Burada 10 tane rastgele sayı ürettik. Eğer sayının 2 ve 3’e tam bölünüyorsa bu sayı 2 ve 3’ün katıdır. O sayıyı ekrana yazdırdık. Benim çalıştırdığım zaman çıktı:
1126438380
1269953508
204807546
2015313036
oldu.

Örnek: Sayıyı tersten yazdıralım.

<?php
$i = 0;
$sayi = 63758;
$yeniSayi = 0;
while($sayi!=0){
	$kalan=$sayi%10;
	$yeniSayi = $yeniSayi*10 + $kalan;
	$sayi = ($sayi-$kalan)/10;
}
echo $yeniSayi;
?>

Örnek: Dizideki elemanları ekrana yazalım.

<?php
$isimler = array("Umut","Ahmet","Ali","Veli");
while($i < count($isimler)){
    echo $isimler[$i]."<br>";
}
?>

Diziler konusuna geldiğimizde bolca döngü kullanacağız.

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir