CodeBlanks Logo Icon CodeBlanks

Toplam hesaplama

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

Her ürünün fiyat ve adedini çarpıp sepet toplamını hesaplarsın.

Toplam hesaplama

Sepetteki ürünlerin tutarını hesaplamak için akümülatör (running total) adı verilen bir teknik kullanırsın. Önce $total değişkenini 0 ile başlatırsın; sonra foreach ile her ürünün tutarını bu değişkene eklersin.

Her ürünün tutarı price × quantity çarpımıdır. Yani $total += $product["price"] * $product["quantity"] yazarak her adımda ara toplamı büyütürsün. Döngü bitince $total sepetin genel toplamını tutar.

foreach içinde çarpma ve toplama

$total += ifade yazmak, $total = $total + ifade yazmakla aynı anlama gelir; yani birleşik atama operatörüdür. Daha kısa ve okunaklıdır.

Sepet hesabında ifade $product["price"] * $product["quantity"] olur. Çarpma, toplamadan önce yapılır; bu yüzden parantez gerekmez. Üç ürün için (25×2, 40×1, 10×3) ara toplamlar 50, 90, 120 olur; son toplam 120'dir.

Uygulama Sepet toplamını hesapla ve yazdır

Şimdi sepetin toplam tutarını hesapla. $total değişkenini 0 ile başlat. İkinci bir foreach ile her ürünün price × quantity çarpımını $total'a ekle. Döngüden sonra Toplam: <total> TL yazdır (örn. Toplam: 120 TL); satır sonuna \n koy.

Örnek çözümü göster
" . $total . " TL\n" yaz.
Ö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";
}
// Toplamı hesapla
$total = 0;
foreach ($cart as $product) {
    $total += $product["price"] * $product["quantity"];
}
echo "Toplam: " . $total . " TL\n";

Kendini test et

  1. Akümülatör nasıl başlatılır?

    • $total = "";
    • $total = [];
    • $total = -1;
    • $total = 0;
    Cevabı göster

    $total = 0; — Doğru. Akümülatör sıfırdan başlar; her ürünün tutarı eklenerek büyür.

  2. $total'a çarpımı ekle

    $total += $product["price"] ____
    Cevabı göster
    $total += $product["price"] * $product["quantity"];
  3. Hesaplama kavramlarını eşleştir

    $total = 0
    akümülatörü başlatır
    $total +=
    değere ekleme yapar
    price * quantity
    ürünün satır tutarı
    $total
    genel toplamı saklar

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