Php ve diğer dillerde döngü oldukça önemli bir yere sahiptir. Döngü mantığı php ve diğer dillerde aynıdır. Döngü kullanmak aynı işlemin sürekli yapılması gerektiği durumlarda hem php dilinde hem de diğer dillerde bize kolaylık sağlar. Her işlem için aynı kodu tekrar tekrar yazmak bize zaman kaybettirir ve kod kirliliğine neden olur. Döngüleri çalıştırmak için bir koşul belirtmemiz gerekir. Koşul sağlandığı sürece aynı işlem sürekli tekrarlanır. Php Operatörler ve Php Karar Yapıları konularını incelemenizi tavsiye ederim.
Php For Döngüsü
For döngüsü kullanımı ve yapısı basit olan bir döngüdür. Php ve diğer dillerde en çok tercih edilen döngü for döngüsü desek yanlış olmaz. For döngüsü üç adet parametre alır. Bunlar sırasıyla döngünün başlangıç değeri, koşul ve döngünün bitiş değeridir. Aşağıdaki örnekte for döngüsünün kullanımını inceleyelim.
<?php for($i = 0; $i <= 5; $i++){ echo $i; } ?>
Yukarıdaki örnekte 1’den 5’e kadar yazdırmak için kullanmamız gereken for döngüsü yapısını örnek verdim. For döngüsü başlangıç değerinin her turda arttırılması yada azaltılması ile işlem yapar. Burada başlangıç değerimiz 0, bitiş değerimiz 5, döngü her turda 1 artırılacak eğer koşul sağlanıyorsa döngü çalışmaya devam edecek. Bu örnekteki koşulumuz ise i değişkeni yani başlangıç değerinin 5’e eşit yada 5’ten küçük olmasıdır. i değişkeni 5’ten küçük olduğu sürece döngümüz çalışacaktır.
Php programlamada döngü kurarken dikkat etmemiz gereken başlangıç, bitiş ve koşulu belirlerken mantıksal hata yapmamamız. Aşağıdaki örneği inceleyelim.
<?php for($i = 1; $i > 0; $i++){ echo $i; } ?>
Yukarıdaki örnekte for döngüsüne verdiğimiz başlangıç, bitiş ve koşula baktığınızda gözünüze anormal bir şey takılmamış olabilir. Kodu incelediğimizde i değişkeni 1’den başlıyor, koşulumuz i değişkeninin 0’dan büyük olması ve bitiş ise her turda i değişkeninin 1 artırılması. Bu durumda i değişkeni her zaman 0’dan büyük olacağı için bitiş değerine ulaşamayacak ve döngü durmayacaktır. Buna sonsuz döngü adı verilir. Koşul sürekli sağlandığı için döngü program çökene kadar çalışmaya devam edecektir.
Php Foreach Döngüsü
Foreach döngüsü genel olarak dizileri yazdırmak için kullanılır. Aşağıdaki örneği inceleyelim.
<?php $renkler = array('mavi','kırmızı','turuncu','yeşil'); foreach ($renkler as $renk){ echo $renk. '<br/>'; } ?>
Yukarıda renkler isimli bir dizi tanıpladık ve dizi elemanlarını foreach döngüsü yardımıyla renk değişkenine atayıp ekrana yazdırdık.
Php While Döngüsü
Bu döngü for döngüsünün aksine bir başlangıç ve bitiş değerine bağlı değildir. Direkt olarak koşula bağlıdır. Koşul sağlandığı sürece döngü çalışmaya devam eder. Aşağıdaki örnekte kullanımı inceleyim.
<?php $sayi = 5; $t = 0; while($sayi > 0){ $t = $t + $sayi; $sayi--; } echo 'Toplam ='. $t; ?>
Yukarıdaki örnekte while döngüsü ile 1’den 5’e kadar olan rakamların toplama işlemini yapan bir döngü oluşturduk. Tabi bu kullanım biraz for döngüsüne benzedi fakat burada while döngüsünün parametre olarak sadece koşul aldığını gözden kaçırmayalım.
Sonsuz döngüyü, while döngüsü ile yapılmaktadır. Yukarıdaki örneği sonsuz döngüye çevirmek için $sayi–; komutunu silmemiz yeterli olacaktır. Bu durumda sayı değişkeni her zaman 0’dan büyük olacağı için koşul her zaman sağlanacak ve program çökene kadar sayıları toplayacaktır. Döngü kırılamadığı için ekrana bir şey yazdırılmayacaktır.
Php Do While Döngüsü
Php programlamada bu döngü diğer döngülerden biraz daha farklı mantıkta çalışmaktadır. Do while döngüsünde koşul kontrolü sonda yapılır. Bu nedenle diğer döngülerden farklı olarak do while döngüsü koşul ne olursa olsun, sağlansın yada sağlanmasın en az 1 kez çalışır. Fakat diğer döngüler sadece koşul sağlandığında çalışıyor. Bu döngü sık kullanılan bir döngü değildir. Genelde for, foreach ve while döngüleri kullanılmaktadır. Aşağıdaki örneği inceleyim.
<?php $a = 3; do{ $a--; }while($a > 5); echo $a; ?>
Yukarıdaki örnekte a değişkenine 3 değerini atadım. Koşulumuz ise a değişkeninin değerinin 5’ten büyük olması. Burada do while kullandığımız için döngü sadece 1 kez çalıştı ve a değişkeninin değerini 1 azaltarak 2’ye düşürdü. Program akışı koşul bloğuna geldiğinde ise koşul sağlanmadığı için döngü kırılmış oldu.
Daha fazla örnek için Php resmi sayfasını incelemenizi tavsiye ederim.
Sade ve anlaşılır PHP örnekleri için teşekkürler.