Défi : Total du panier
Fait partie de la section Logique & Flux du Journey PHP de Coddy — leçon 67 sur 68.
Défi
FacileVous recevrez une seule entrée : une chaîne JSON représentant un tableau d'articles d'un panier d'achat.
L'entrée sera une chaîne JSON dans ce format : [{"name":"Laptop","price":999.99,"quantity":1},{"name":"Mouse","price":25.50,"quantity":2},{"name":"Keyboard","price":75.00,"quantity":1}]
Lisez l'entrée et décodez la chaîne JSON en un tableau d'articles. Chaque article possède trois propriétés : name, price, et quantity.
Calculez le coût total du panier d'achat en multipliant le prix de chaque article par sa quantité, puis en additionnant tous les résultats. Utilisez array_reduce() avec une fonction de rappel personnalisée pour calculer ce total.
Après avoir calculé le total, affichez-le au format suivant :
Total: $[amount]
Formatez le montant avec exactement 2 décimales en utilisant number_format().
Format d'entrée :
- Une seule ligne contenant une chaîne JSON représentant le tableau des articles du panier avec les clés
name,price, etquantity
Sortie attendue : Une seule ligne affichant le coût total au format : Total: $[amount] où le montant est formaté avec 2 décimales
Essayez vous-même
<?php
// Lire l'entrée JSON
$input = fgets(STDIN);
// Décoder la chaîne JSON en un tableau
$items = (array)json_decode($input, true);
// TODO: Écrivez votre code ci-dessous pour calculer le total en utilisant array_reduce()
// Afficher le résultat
echo "Total: $" . number_format($total, 2);
?>Toutes les leçons de Logique & Flux
1Fonctions avancées
Fonctions anonymesClosures et 'use'Fonctions fléchéesFonctions de rappelUtilisation de 'call_user_func'Fonctions variablesPassage par référenceFonctions récursivesRécapitulatif : Mélange de fonctions4Tableaux multidimensionnels
Créer un tableau 2DAccéder aux éléments d'un tableau 2DModifier les éléments d'un tableau 2DItérer avec des boucles imbriquéesTableaux associatifs 2DRécapitulatif : Exercice de grille simple7Travailler avec les dates et les heures
La fonction 'date()'Timestamps Unix avec 'time()'Introduction à l'objet DateTimeFormater les objets DateTimeModifier les objets DateTimeRécapitulatif : Calculs de dates10Défis finaux
Défi : Vérificateur de palindromeDéfi : Fréquence des caractèresDéfi : Total du panierDéfi : Filtre d'éléments uniques2Manipulations avancées de tableaux
Ajouter avec 'array_push'Supprimer avec 'array_pop'Ajouter avec 'array_unshift'Supprimer avec 'array_shift'Fusionner des tableaux indexésFusionner des tableaux associatifsExtraire avec 'array_slice'Valeurs avec 'in_array'Clés avec 'array_search'Récapitulatif : Exercice Playlist3Tri des tableaux
Trier les tableaux indexés par ordre croissantTrier les tableaux indexés par ordre décroissantTrier les tableaux associatifs par valeurTrier les tableaux associatifs par cléTri par ordre naturelTri personnalisé avec 'usort'Récapitulatif : Tri d'un classement