CodeBlanks Logo Icon CodeBlanks

Sepeti görüntüleme

PHP kursu · Başlangıç · Ders 50/116

foreach ile sepetteki ürünleri listeleyip gösterirsin.

Sepeti görüntüleme

Sepete ürün ekledikten sonra müşterinin sepeti görmesi gerekir. foreach döngüsü, dizinin her elemanını sırayla gezip yazdırmanın en kolay yoludur.

foreach ($cart as $product) yazdığında PHP her dönüşte $cart'ın bir sonraki elemanını $product değişkenine atar. Gövde içinde $product["name"], $product["price"] ve $product["quantity"] ile ürünün özelliklerine ulaşırsın. Her ürünü ayrı satıra yazmak için \n kullanırsın.

foreach içinde ilişkisel diziye erişim

İlişkisel dizide bir özelliğe ulaşmak için anahtarı köşeli parantezle yazarsın: $product["name"]. Bu, sade bir dizi indeksi gibi çalışır; ancak indeks sayı değil anahtardır.

Birden fazla özelliği aynı echo içinde birleştirmek için nokta (.) operatörünü kullanırsın. Örneğin echo $product["name"] . " - " . $product["price"] . " TL"; çıktısı Kalem - 25 TL olur. İstersen aritmetik de yapabilirsin: $product["price"] * $product["quantity"].

Uygulama Sepeti liste halinde yazdır

Sepetteki her ürünü foreach ile gez ve echo ile ayrı satıra yazdır. Her satır <name> - <price> TL x<quantity> biçiminde olsun (örn. Kalem - 25 TL x2). Satır sonuna \n koy. Mevcut echo satırını koru.

Örnek çözümü göster
foreach ($cart as $product) yaz; gövdede echo ile $product["name"], $product["price"] ve $product["quantity"] değerlerini noktalarla birleştir.
Örnek çözüm:
<?php
// Sepet dizisini başlat ve ilk ürünü ekle
$cart = [];
$cart[] = ["name" => "Kalem", "price" => 25, "quantity" => 2];
// array_push ile iki ürün daha ekle
array_push($cart, ["name" => "Defter", "price" => 40, "quantity" => 1], ["name" => "Silgi", "price" => 10, "quantity" => 3]);
echo "Sepet: " . count($cart) . " ürün\n";
// Sepeti foreach ile listele
foreach ($cart as $product) {
    echo $product["name"] . " - " . $product["price"] . " TL x" . $product["quantity"] . "\n";
}

Kendini test et

  1. foreach ($cart as $product) ne yapar?

    • $cart dizisini sıralar
    • $cart dizisini boşaltır
    • $cart'ın her elemanını sırayla $product'a atar
    • $cart'ın uzunluğunu verir
    Cevabı göster

    $cart'ın her elemanını sırayla $product'a atar — Doğru. foreach, dizinin her elemanını sırayla $product değişkenine atar ve gövdeyi her biri için çalıştırır.

  2. foreach gövdesini tamamla

    foreach ($cart as $product) {
        echo ____;
    }
    Cevabı göster
    foreach ($cart as $product) {
        echo $product["name"];
    }
  3. foreach parçalarını eşleştir

    foreach
    dizinin her elemanını gezer
    as $product
    her elemana bu adı verir
    $product["name"]
    ürünün adına ulaşır
    $product["price"]
    ürünün fiyatına ulaşır

Başlangıç bölümündeki tüm dersler