PHP öğrenmeye yeni başlayanların for döngülerinde zorlanmasının yaygın bir nedeni, genellikle soyut sayılarla verilen örneklerdir. Bu durum, döngü mantığını anlamayı...

PHP öğrenmeye yeni başlayanların for döngülerinde zorlanmasının yaygın bir nedeni, genellikle soyut sayılarla verilen örneklerdir. Bu durum, döngü mantığını anlamayı zorlaştırabilir. Bu nedenle, daha anlaşılır bir başlangıç için, somut ve basit bir örneklerle pekiştirip "Basit Sayma Döngüsü" ile konuya giriş yapalım

For Döngüsü Projelerde ise şu şekilde kullanılabilir


E-ticaret SiteleriÜrün Listeleme: Bir e-ticaret sitesinde, veritabanından çekilen ürünlerin listelenmesi genellikle bir döngü ile yapılır. for döngüsü kullanılabilir, ancak genellikle foreach döngüsü dizilerle daha rahat çalıştığı için tercih edilir. Ancak, belirli bir sayıda ürün göstermek veya sayfalama yapmak gerektiğinde for döngüsü faydalı olabilir.
Sepet İçeriği GörüntülemeKullanıcının sepetindeki ürünleri listelemek için de bir döngü kullanılır.
Dropdown Menüleri Oluşturma
Bir ürünün farklı bedenlerini veya renklerini seçmek için bir dropdown menüsü oluşturulurken for döngüsü kullanılır
Blog Yazılarını ListelemeBlog ana sayfasında veya kategori sayfalarında blog yazıları listelenirken bir döngü kullanılır. Genellikle veritabanından çekilen yazılar bir dizi içinde saklanır ve bu dizi for veya foreach ile döngülenir.
Yorumları ListelemeBir blog yazısının altındaki yorumları listelemek için de döngü kullanılır.
Sayfalama (Pagination)Çok sayıda yazı veya ürün olduğunda, sayfalandırma yapmak ve her sayfada belirli sayıda öğe göstermek için for döngüsü kullanılır



PHP:
<?php
for ($i = 0; $i < 10; $i++) {
  echo "Sayı: " . $i . "<br>";
}
?>

Kodun Çıktısı

Screenshot (8).png

Adım adım inceleyelim

  • $i = 0;
    Döngüye başlarken $i değişkenine 0 değeri atanır.
    (Başlangıç değeri: $i = 0)

  • $i < 10;
    Her döngüden önce bu koşul kontrol edilir. Eğer $i 10'dan küçükse döngü devam eder. Eğer büyük veya eşitse döngü sona erer.
    (Çalışma koşulu: $i < 10)

  • $i++
    Her döngü sonunda $i değişkeninin değeri 1 artırılır.
    ($i++ ifadesi, $i = $i + 1 ile aynıdır.)

  • echo
    Döngü her çalıştığında ekrana bir çıktı verir.
    "Sayı: " . $i ifadesiyle, her adımda $i
    değişkeninin güncel değeri ekrana yazdırılır.
  • <br>
    HTML'deki satır sonu etiketi. Bu, her sayıdan sonra bir alt satıra geçilmesini sağlar.

Döngünün Çalışma Süreci

  1. Döngü başlar ve $i başlangıç değeri olan 0’a atanır.
  2. Koşul kontrol edilir: $i < 10 (0 < 10, bu doğru olduğu için döngü çalışır).
  3. İlk adım: "Sayı: 0" ekrana yazdırılır ve bir satır boşluk bırakılır.
  4. $i bir artırılır ($i = 1 olur).
  5. Koşul tekrar kontrol edilir: $i < 10 (1 < 10, doğru).
  6. "Sayı: 1" ekrana yazdırılır.
  7. Bu işlem $i 10 olana kadar devam eder.
  8. $i = 10 olduğunda koşul sağlanmaz ($i < 10, yanlış), döngü sona erer.

Temel for döngüsü mantığını anladığınızı varsayarak, şimdi daha pratik bir örneğe, bir e-ticaret sitesindeki "sepet" kullanımına odaklanalım. Bu senaryo, döngülerin gerçek uygulamalarında nasıl kullanıldığını göstermek için iyi bir örnektir.

Kod:
<?php
// Sepet içeriği (basit bir örnek)
$sepet = array(
    array("urun_id" => 1, "adet" => 2),
    array("urun_id" => 3, "adet" => 1),
);

// Veritabanından ürün bilgilerini çekme (varsayalım)
function urunBilgisiGetir($urun_id) {
    $urunler = array(
        1 => array("ad" => "Telefon", "fiyat" => 1000),
        3 => array("ad" => "Bilgisayar", "fiyat" => 2000),
    );
    return $urunler[$urun_id];
}

$toplamFiyat = 0;
for ($i = 0; $i < count($sepet); $i++) {
    $urun_id = $sepet[$i]["urun_id"];
    $adet = $sepet[$i]["adet"];
    $urun = urunBilgisiGetir($urun_id);
    $fiyat = $urun["fiyat"] * $adet;
    $toplamFiyat += $fiyat;
    echo $urun["ad"] . " x " . $adet . " = " . $fiyat . " TL<br>";
}
echo "Toplam Sepet Tutarı: " . $toplamFiyat . " TL";
?>


Kod Analizi​

1. Sepet Verisi



PHP:
$sepet = array(

array("urun_id" => 1, "adet" => 2),

array("urun_id" => 3, "adet" => 1),

);

  • $sepet *****, alışveriş sepetindeki ürünleri temsil eder.
  • Her ürün, bir dizi (array) olarak tanımlanmış ve şu bilgiler yer alıyor:
    • urun_id: Ürünün kimlik numarası.
    • adet: Sepette bu üründen kaç tane olduğu.
Örnek:

    1. ürünün kimliği 1, sepette 2 adet var.
    1. ürünün kimliği 3, sepette 1 adet var.

2. Ürün Bilgilerini Getirme Fonksiyonu


PHP:
function urunBilgisiGetir($urun_id) {

$urunler = array(

1 => array("ad" => "Telefon", "fiyat" => 1000),

3 => array("ad" => "Bilgisayar", "fiyat" => 2000),

    );

return $urunler[$urun_id];

}

  • urunBilgisiGetir fonksiyonu, ürün kimliğine (ID) göre ürün bilgilerini döndürür.
  • Ürün bilgileri bir dizi olarak saklanmıştır:
    • ad: Ürünün adı.
    • fiyat: Ürünün birim fiyatı.
Örnek:

  • urunBilgisiGetir(1) çağrıldığında, şu bilgileri döndürür:
    array("ad" => "Telefon", "fiyat" => 1000)

3. Döngü ile Sepet İşlemleri


PHP:
$toplamFiyat = 0;
for ($i = 0; $i < count($sepet); $i++) {
$urun_id = $sepet[$i]["urun_id"];
$adet = $sepet[$i]["adet"];
$urun = urunBilgisiGetir($urun_id);
$fiyat = $urun["fiyat"] * $adet;
$toplamFiyat += $fiyat;
echo $urun["ad"] . " x " . $adet . " = " . $fiyat . " TL<br>";
}


  • Döngü:
    for döngüsü, $sepet dizisini dolaşır.
    Her adımda, bir ürün alınır ve fiyat hesaplanır.
  • İşlemler:
    1. Ürün bilgisi alınır:
      • Sepetteki ürünün kimliği $urun_id olarak atanır.
      • Sepetteki miktarı $adet olarak alınır.
    2. Ürün bilgisi çekilir:
      • urunBilgisiGetir($urun_id) fonksiyonu çağrılarak ürünün adı ve fiyat bilgisi getirilir.
    3. Toplam fiyat hesaplanır:
      • $urun["fiyat"] * $adet işlemiyle ürünün toplam fiyatı hesaplanır.
      • $toplamFiyat += $fiyat ile toplam sepet fiyatına eklenir.
    4. Çıktı oluşturulur:
      • echo ile ürün bilgisi ekrana yazdırılır. Örneğin:
        Telefon x 2 = 2000 TL

4. Toplam Tutar Yazdırma


echo "Toplam Sepet Tutarı: " . $toplamFiyat . " TL";

Tüm ürünlerin fiyatı toplandıktan sonra, toplam sepet tutarı ekrana yazdırılır.

Kodun Çıktısı

Kod çalıştırıldığında şu şekilde bir çıktı alırsınız:

Telefon x 2 = 2000 TL
Bilgisayar x 1 = 2000 TL
Toplam Sepet Tutarı: 4000 TL

Screenshot (9).png

Konuyu olabildiğince basitleştirerek, örnekler ve uygulamalarla anlatarak daha iyi anlamanız için düzenledim. Anlaşılmayan veya kafa karıştıran bir nokta olursa, mesaj yoluyla veya yorumlarla sorularınızı sorabilirsiniz.
 
Son düzenleme:
💬 SpyHackerz Telegram — Anlık tartışmalar ve duyurular için katıl
132,675Konular
3,282,980Mesajlar
317,908Kullanıcılar
NeovixProSon Üye
Üst Alt