While döngüsü parantez içindeki şart sağlandığı müddetçe çalışmaya devam eder Kullanımı şekli
Whlie(Şart)
{
komutlar
}
şeklindedir. For döngüsünde 3 parametremiz vardı bunlar başlangıç değeri,şart ve artış miktarı. While döngüsünde parametre olarak sadece şart veriliyor. Başlangıç değerini döngüye girmeden önce vemeniz gerekiyor eğer herhangi bir değer verilmez ise başlangıç değeri 0 olur, artış miktarı da çalıştırılacak komutlar arasında verilmelidir herhengi bir artış miktarı verilmez ise döngü sonsuz döngüye girer ve program kilitlenir. Şimdi örnekler ile uygulama kısmına geçellim
<?php
$i=1; // başlangıç değeri verdik vermese idik 0’dan başlayacaktı
while($i<=10)
{
$i=$i+1;//$i değişkeninin değerini 1 arttırarak döngünün ilerlemesini sağlıyoruz
}
?>
for döngüsü ile yapılan bütün programlar yine while döngüsü ile de yapılabilir yalnız dikkat etmemiz gereken nokta başlangıç değeri ve artış değerini belirtmek olmalıdır. Bir diğer önemli nokta artırma işleminin nerede yapıldığıdır örneğimizde echo komutundan sonra kullandık böylelikle ekranda yazdırıldıktan sonra atış yapılıyor yani ekrana önce 1 yazılıyor. Eğer echo’dan önce kullansaydık ekrana yazılacak ilk değer 2 olacaktı çünkü başlangıç değerini 1 olarak vermiştik.
Bir diğer döngü yapısı ise do..while döngüsüdür while döngüsünden farklı olarak şart döngünün sonunda çalışacaktır.
<?
$a = 0;
do {
print $a;
} while($a > 0);
?>
Yukarıdaki kod normal while döngüsü ile yazılmış olsaydı, yani aşağıdaki gibi
<?
$a = 0;
while($a > 0) {
print $a;
}
?>
ekrana hiçbir çıktı vermeyecekti. Halbuki ilk örnekte ekrana “0” basılacaktır. Do….while ile oluturulan bir döngü while ile de oluşturulabilir ve benim şahsi görüşüm, while döngüsünün kullanımı daha kolaydır. Tabi ki bu döngünün de kendine has kullanım alanları vardır ama ben şu ana kadar kendi yazdığım betiklerde bu tür döngüler için hep while döngüsünü kullandım.
Merhaba,
Ben while göngüsü içinde BURAK döngüsünün defalarca BURAK BURAK BURAK BURAK yazılması yerine 1 kez yapılması için ne yapabilirim ?
:cry:: :cry:: Biraz daha açıklayıcı olamazmı hocam
:twisted: :-?: :arrow: :idea: :wink: :oops: :roll:: :cry:: :confused: :sad: :D :shock: :lol:
çok güsel olmuş eliinize sağlık
:confused: :-x