PHP Döngü Kullanımı
Hepinize merhaba dostlarım :) Bu yazımızda php de kullanılan döngüleri kullanacağız. Şimdi dostlarım döngü nedir diye aklınıza gelmiştir. Hızlıca ve mantık yoluyla döngünün tanımına bakalım
Döngü Nedir ?
Dostlarım döngüye kısaca örnek verelim :). Örneğin ekrana 10 kez "MFSoftware Blog" yazdırmak istiyoruz diyelim. Bunu 10 kere yazabiliriz iyi normal peki ya 100 Kere yazacak olursak veya 10000 kere ? Yorucu olur ve karmaşıklaşır değil mi kim o kadar uğraşacak :). Veya veri tabanında 100 adet verimiz var diyelim. Bütün verileri çektik ve sadece ekrana yazdırmak kaldı. Bunun için dizi indis numaralarını tek tek mi yazalım :). Bir programcı asla ama asla bu şekilde uğraşmaz dostlarım. Döngüleri kullanır. Gelin o halde döngülere yavaştan başlayalım
Döngüler Kaça Ayrılır ?
Dostlarım döngülere genel olarak bakacak olursak
- For
- While
- Foreach
- Do-While
olarak 4 ana başlıkta inceleriz.
1-) For Döngüsü
Dostlarım for döngüsünün amacı belirtilen koşul sağlandığı sürece çalışır. 3 parametre alır:
- Parametre : Döngü Kaçtan Başlayacak ($i=0)
- Parametre : Döngü Şartı ($i<=10)
- Parametre : Sayı Kaç Kaç Artacak ($i++)
Bu şekilde bir söz dizimi var dostlarım. Kullanımı şıu an zihninizde karmaşık gibi görünüyordur ama inanın bana hiç öyle değil :). Gelin bir örnekle inceleyelim
<?php
// 1 den 10 a kadar olan sayıları listeleyelim
for($i=1; $i<=10; $i++){
echo "Sayı: ".$i."<br>";
}
/*
EKRAN ÇIKTISI
Sayı: 1
Sayı: 2
Sayı: 3
Sayı: 4
Sayı: 5
Sayı: 6
Sayı: 7
Sayı: 8
Sayı: 9
Sayı: 10
*/
NOT: $i=1 -----> Döngü 1 den başlayacak
NOT: $i<=10 ----> Döngü 10 dan küçük veya 10 oluncaya kadar devam edecek
NOT: $i++ ----> $i sayısı her seferinde 1 artacak
?>
2-) While Döngüsü
Gelelim 2. bir döngümüz olan while döngüsüne :). Dostlarım bunun mantığı da for döngüsündeki gibi koşul sağlandığı sürece devam eder :). 1 parametre alır
- Koşul (Örneğin : $i<=10 gibi)
Yalnız biraz farklı çalışır. Gelin bir örnekle bunu inceleyelim :)
<?php
// 1 den 40 a kadar olan sayılardan sadece 5 e bölünen sayıları listeleyelim
$sayi=1;
// koşulu yazdık
while($sayi<=40){
if($sayi%5==0){
// 5 e tam bölünüyors
echo "Sayı: ".$sayi."<br>";
}
$sayi++; // 1 artır
}
/*
EKRAN ÇIKTISI
Sayı: 5
Sayı: 10
Sayı: 15
Sayı: 20
Sayı: 25
Sayı: 30
Sayı: 35
Sayı: 40
*/
?>
3-) Foreach Döngüsü
Bir diğer döngümüz olan foreach döngüsünün amacı ise bizim karşımıza dizi içeriğinin gelmesini sağlar dostlarım. Yani dizide 10 indis varsa 10 tanesini getirir. İki parametre alır
- Dizinin adı (Örneğin : $sehirler)
- $key=>$value (Dizinin indisi ve anahtar kelimesi)
Bu işlem aslında for döngüsüyle de yapılır ama foreach döngüsü belleği daha az yoracağı için mikro optimizasyon sebebiyle foreach seçilir :). Gelin bir dizi oluşturalım ve bunu sizin de öğrenmeniz açısından hem for ile hem de foreach ile test edelim
<?php
$sehirler = ["Konya","Aydın","Adıyaman","İzmir","Ağrı"];
// FOREACH İLE YAPALIM
foreach($sehirler as $key=>$value){
echo "Şehirler Dizisi ".$key.". İndis Değeri: ".$value."<br>";
}
/*
EKRAN ÇIKTISI
Şehirler Dizisi 0. İndis Değeri: Konya
Şehirler Dizisi 1. İndis Değeri: Aydın
Şehirler Dizisi 2. İndis Değeri: Adıyaman
Şehirler Dizisi 3. İndis Değeri: İzmir
Şehirler Dizisi 4. İndis Değeri: Ağrı
*/
/************************************************************************/
// FOR İLE YAPALIM
for($i=0; $i<count($sehirler); $i++){
echo "Şehirler Dizisinin ".$i.". İndisi Değeri: ".$sehirler[$i]."<br>";
}
/*
EKRAN ÇIKTISI
Şehirler Dizisi 0. İndis Değeri: Konya
Şehirler Dizisi 1. İndis Değeri: Aydın
Şehirler Dizisi 2. İndis Değeri: Adıyaman
Şehirler Dizisi 3. İndis Değeri: İzmir
Şehirler Dizisi 4. İndis Değeri: Ağrı
*/
NOT: count($sehirler) ile şehirler dizisi içerisindeki eleman sayısını aldık :)
?>
4-) Do-While Döngüsü
Dostlarım 4. ve son döngümüz olan do-while döngüsünü inceleyelim :). Mantığı for ve while ile aynı ama 2 adet fark var :)
- İşlemler Do bloğunun içinde gerçekleşiyor
- Koşul sağlanmasa da sağlansa da en az 1 kez çalışıyor
Bu güne kadar hiçbir projemde kullanmadım diyebilirim :) ama sizinle beraber incelemekte fayda var dostlarım. Gelin hızlıca bununla da örnek yapalım
<?php
// öncelikle size şart sağlanmadığı halde yine çalıştığını göstereyim
$sayi = 1;
do{
echo "Çalıştım";
}while($sayi<1);
/*
EKRAN ÇIKTISI: "Çalıştım"
*/
// NOT: Koşul Hatalı olsa bile 1 kez çalışıyor
/*****************************************************************************/
// 1 den 15 e kadar olan sayılardan 3 e tam bölünenleri listeleyelim
$sayi = 1;
do{
if($sayi%3==0){
echo "Sayı :".$sayi."<br>";
}
$sayi++;
}while($sayi<=15);
/*
EKRAN ÇIKTISI
Sayı :3
Sayı :6
Sayı :9
Sayı :12
Sayı :15
*/
?>
İşlem bu kadar dostlarım. Dediğim gibi üstteki örnekte koşul sağlanmasa bile 1 kez çalıştığını kanıtladık :). Alttaki örnekte ise aynı for ve while deki gibi ufak bir örnek yaptık :)
Umarım faydalı olmuşumdur :) Hayallerinizi gerçekleştirmeniz ve güzel yerlere gelmeniz dileklerimle... İyi çalışmalar :)
Yazar Hakkında
Kendi Halinde Bir Backend Developer