Döngüler tekrar eden işlemleri yapmakta kullanılır. Başlangıçta anlamsız gelebilir ama 100 üyeli bir web sayfanız varsa hepsinin adını tek tek yazmak yerine döngü kullanarak üç satırda işinizi bitirebilirsiniz.
For Döngüsü
For döngüsü verilen artırma değerine göre döner. Dönerken aradaki işlemleri tekrar tekrar yapar. yazılması şu şekildedir.
for( $degisken ; dönme şartı ; her dönüşte yapılacak işlem)
$degisken: dönmeye ilk başladığı anda bir değişken üretmeyi sağlar
dönme şartı: Buradaki şart aslında bir IF komutudur. sorulan soru doğru ise dönmeye devam eder.
her dönüşte yapılacak işlem: Dönme sırasında herzaman birer birer arttırmak zorunda değilsiniz. bu işlemi değiştirip üçer üçer veya beşer beşer saydırabilirsiniz.
örnek:
for ( $say=1 ; $say < 10 ; $say++ ){
echo " şu anda ".$say. " sayısındayım";
}
bu komutu çalıştırdığınızda. şöyle bir sonuç çıkar:
şu anda 1 sayısındayım
şu anda 2 sayısındayım
şu anda 3 sayısındayım
şu anda 4 sayısındayım
Bu şekilde 9 kere devam eder. verilen şart $say <10 olduğu için $say==10 olduğunda dönme sona erer.
While Döngüsü
While döngüsü üsttekinin biraz daha sade halidir. Fakat sadece sayılar için kullanılmaz. While döngüsü tek bir şarta bağlı olduğu için dikkatli kullanmak gerekir.
Yazılışı:
While (Sorgu)
{
sorgu doğru ise yapılacak işlem
}
örnek: $civciv örneğini yapalım.
while($civciv==""){
echo " Açım, Çok acıktım";
}
Bu örneği çalıştırdığınızda ekrana bir milyon kere Açım yazdığını göreceksiniz. Sebebi ise $civciv´in hiçbir zaman içi dolmuyor ve While her dönüşünde aynı soruyu soruyor, cevap Evet ise dönmeye devam ediyor.
Yukarıdaki örneği aşağıdaki şekilde değiştirdiğimizde ise sadece 10 kere dönecektir.
while($civciv < 10){
echo " Açım, Çok acıktım";
$civciv = $civciv + 1 ;
}
Bu örnekteki en önemli kısım aslında $civciv = $civciv + 1 satırıdır, her dönüşte $civciv'in değerini 1 artır.
English: https://niyazi.net/en/php-for-and-while-loops
Muhammed Niyazi ALPAY - Cryptograph
Senior Software Developer & Senior Linux System Administrator
Meraklı
PHP MySQL MongoDB Python Linux Cyber Security
Hiç yorum yok