Herausforderung: Warenkorb-Gesamtsumme
Teil des Abschnitts Logik & Ablauf der PHP-Journey von Coddy — Lektion 67 von 68.
Aufgabe
EinfachSie erhalten eine einzige Eingabe: einen JSON-String, der ein Array von Warenkorbartikeln darstellt.
Die Eingabe erfolgt als JSON-String in diesem Format: [{"name":"Laptop","price":999.99,"quantity":1},{"name":"Mouse","price":25.50,"quantity":2},{"name":"Keyboard","price":75.00,"quantity":1}]
Lesen Sie die Eingabe ein und dekodieren Sie den JSON-String in ein Array von Artikeln. Jeder Artikel hat drei Eigenschaften: name, price und quantity.
Berechnen Sie die Gesamtkosten des Warenkorbs, indem Sie den Preis jedes Artikels mit seiner Menge multiplizieren und dann alle Ergebnisse summieren. Verwenden Sie array_reduce() mit einer benutzerdefinierten Callback-Funktion, um diese Summe zu berechnen.
Nachdem Sie die Summe berechnet haben, geben Sie diese im folgenden Format aus:
Total: $[amount]
Formatieren Sie den Betrag mit number_format() auf genau 2 Dezimalstellen.
Eingabeformat:
- Eine einzelne Zeile, die einen JSON-String enthält, der das Array der Warenkorbartikel mit den Schlüsseln
name,priceundquantitydarstellt.
Erwartete Ausgabe: Eine einzelne Zeile, die die Gesamtkosten im Format Total: $[amount] anzeigt, wobei der Betrag auf 2 Dezimalstellen formatiert ist.
Probier es selbst
<?php
// Die JSON-Eingabe lesen
$input = fgets(STDIN);
// Den JSON-String in ein Array dekodieren
$items = (array)json_decode($input, true);
// TODO: Schreiben Sie Ihren Code unten, um die Summe mit array_reduce() zu berechnen
// Das Ergebnis ausgeben
echo "Total: $" . number_format($total, 2);
?>Alle Lektionen in Logik & Ablauf
1Fortgeschrittene Funktionen
Anonyme FunktionenClosures und 'use'Arrow FunctionsCallback-FunktionenVerwendung von 'call_user_func'VariablenfunktionenReferenzübergabeRekursive FunktionenRückblick: Funktions-Medley4Mehrdimensionale Arrays
Ein 2D-Array erstellenZugriff auf 2D-Array-ElementeÄndern von 2D-Array-ElementenIterieren mit verschachtelten Schleifen2D assoziative ArraysZusammenfassung: Einfache Gitter-Übung7Arbeiten mit Datum und Uhrzeit
Die 'date()'-FunktionUnix-Timestamps mit 'time()'Einführung in das DateTime-ObjektDateTime-Objekte formatierenDateTime-Objekte ändernZusammenfassung: Datumsberechnungen10Abschließende Herausforderungen
Herausforderung: Palindrom-PrüferHerausforderung: ZeichenhäufigkeitHerausforderung: Warenkorb-GesamtsummeHerausforderung: Filter für eindeutige Elemente2Fortgeschrittene Array-Manipulationen
Hinzufügen mit 'array_push'Entfernen mit 'array_pop'Hinzufügen mit 'array_unshift'Entfernen mit 'array_shift'Indizierte Arrays zusammenführenAssoziative Arrays zusammenführenExtrahieren mit 'array_slice'Werte mit 'in_array'Schlüssel mit 'array_search'Rückblick: Playlist-Übung3Arrays sortieren
Indizierte Arrays aufsteigend sortierenIndizierte Arrays absteigend sortierenAssoziative Arrays nach Wert sortierenAssoziative Arrays nach Schlüssel sortierenNatürliche SortierungBenutzerdefiniertes Sortieren mit 'usort'Recap: Leaderboard-Sortierung