Merhaba Arkadaşlar bu yazımızda döngülere giriş yapacağız.
Döngüler tüm programlama dillerinde önemli bir yere sahiptir. Bazen aynı işlemi aynı kodlarla defalarca yazmamız gerekebilir. Bu hem sunucu maliyeti hem de hız açısından bize çok büyük dezavantaj sağlar. Burada döngüler devreye girer ve bazen 1000 satırda yapmamız gerekn işlemi bir kaç satırda halledebiliriz.
Belirttiğimiz koşul doğru olduğu sürece döngü çalışmaya devam eder. Döngüler olmadığını varsayarsak ekrana 1 den 10'a kadar yazmak istesek bunu değişkenlerle şu şekilde yapmak zoruda kalırdık.
<?php
echo 1."<br>";
echo 2."<br>";
echo 3."<br>";
echo 4."<br>";
echo 5."<br>";
echo 6."<br>";
echo 7."<br>";
echo 8."<br>";
echo 9."<br>";
echo 10;
?>
Bir de ekrana 1000e kadar yazdırmamız gerektiğini düşünün. Ne kadar uzun zaman alırdı değil mi aynı şeyleri yazmak. Şimdi de whie döngüsü ile ekrana 10'a kadar yazdıralım.
<?php
$sayi = 1;
while($sayi <= 10) {
echo $sayi."<br>";
$sayi++;
}
?>
Bu örnekte anlayamadınız belki ama kodlar ne kadar kısaldı. İsterseniz 100'e isterseniz milyonlara kadar yazdırın topu topu 5 satır kodla bu işlemi yapabilirsiniz.
Yukardaki kodu adım adım açıklayalım şimdi.
1. adım: $sayi adında bir değişken tanımladık ve bunu 1'e eşitledik.
2. adım: while kod bloğunu yazdık ve içine koşul olarak $sayi değişkeni 10'a eşit veya 10'dan küçük olana kadar çalış dedik.
3. adım: sayı değişkenini ekrana yazdırdık.
4. adım: sayı değerini 1 artırdık.
Döngü her çalıştığında sayı değişkenini kontrol edecek. sayı değişkeni 10'dan küçükse veya 10'a eşitse döngünün içine girecek, sayı değerini ekrana yazdıracak, 1 artıracak ve başa dönecektir.
******** While Döngüsü içindeki koşul doğru değilse hiçbir zaman çalışmaz. Do-while'dan farkı budur.
do-while döngüsü koşula bakmadan bir kere işlem yapar daha sonra koşulun durumuna göre while işlemini yapıp yapamayacağına karar verir. Her halükarda en az bir kere çalışır yani. Bazı durumlarda gerçekten hayat kurtarıcı olabiliyor.
<?php
$sayi = 9999;
do {
echo "Sayı: $sayi <br>";
sayi++;
} while ($sayi <= 5);
?>
Yukardaki örnek çalıştığında ekrana tek satır yazı yazacaktır. Sayı değeri while koutunun içindeki değerden zaten büyük olduğu için while döngüsü çalışmaz. Sadece do çalışır. Şimdi birden çok çalıştığı durumu inceleyelim.
<?php
$sayi = 1;
do {
echo "Sayı: $x <br>";
$sayi++;
} while ($sayi <= 5);
/*
Kodun çıktısı
Sayı : 1
Sayı : 2
Sayı : 3
Sayı : 4
Sayı : 5
*/
?>
Bu kod bloğu çalıştığında ise ekrana 1 ve 5 dahil arasındaki sayı değerlerini basar.
Unutmayın do-while döngüsü koşul yanlış olsa bire bir kere çalışır sonra koşula bakar yanlışsa döngü kırılır. Doğru ise kırılana kadar işlemi gerçekleştirir.