チャレンジ:ショッピングカートの合計金額
CoddyのPHPジャーニー「論理とフロー」セクションの一部 — レッスン 67/68。
チャレンジ
簡単ショッピングカートのアイテムの配列を表すJSON文字列という、単一の入力を受け取ります。
入力は次の形式のJSON文字列です: [{"name":"Laptop","price":999.99,"quantity":1},{"name":"Mouse","price":25.50,"quantity":2},{"name":"Keyboard","price":75.00,"quantity":1}]
入力を読み込み、JSON文字列をアイテムの配列にデコードしてください。各アイテムには、name、price、quantityの3つのプロパティがあります。
各アイテムの価格(price)に数量(quantity)を掛け合わせ、そのすべての結果を合計して、ショッピングカートの合計金額を計算してください。この合計を計算するには、カスタムコールバック関数を指定した array_reduce() を使用してください。
合計を計算した後、次の形式で出力してください:
Total: $[amount]
number_format() を使用して、金額(amount)を小数点以下ちょうど2桁にフォーマットしてください。
入力形式:
name、price、quantityというキーを持つショッピングカートアイテムの配列を表すJSON文字列を含む1行
期待される出力: 合計金額を Total: $[amount] の形式で表示する1行(金額は小数点以下2桁にフォーマットされていること)
自分で試してみよう
<?php
// JSON入力を読み込む
$input = fgets(STDIN);
// JSON文字列を配列にデコードする
$items = (array)json_decode($input, true);
// TODO: array_reduce()を使用して合計を計算するコードを以下に記述してください
// 結果を出力する
echo "Total: $" . number_format($total, 2);
?>