Menu
CoddyTech

Thử thách: Tổng tiền giỏ hàng

Thuộc phần Logic và luồng chương trình trong hành trình PHP của Coddy. Bài học 67 trên 68.

challenge icon

Thử thách

Dễ

Bạn sẽ nhận một đầu vào duy nhất: một chuỗi JSON biểu diễn một mảng các mặt hàng trong giỏ hàng.

Đầu vào sẽ là một chuỗi JSON theo định dạng này: [{"name":"Laptop","price":999.99,"quantity":1},{"name":"Mouse","price":25.50,"quantity":2},{"name":"Keyboard","price":75.00,"quantity":1}]

Đọc đầu vào và giải mã chuỗi JSON thành một mảng các mặt hàng. Mỗi mặt hàng có ba thuộc tính: name, price và quantity.

Tính tổng chi phí của giỏ hàng bằng cách nhân giá của mỗi mặt hàng với số lượng tương ứng, sau đó cộng tất cả các kết quả. Dùng array_reduce() với một hàm callback tùy chỉnh để tính tổng này.

Sau khi tính tổng, in ra theo định dạng sau:

Total: $[amount]

Định dạng số tiền chính xác đến 2 chữ số thập phân bằng number_format().

Định dạng đầu vào:

  • Một dòng duy nhất chứa chuỗi JSON biểu diễn mảng các mặt hàng trong giỏ hàng với các khóa name, price và quantity

Đầu ra mong đợi: Một dòng hiển thị tổng chi phí theo định dạng: Total: $[amount], trong đó số tiền được định dạng đến 2 chữ số thập phân

Tự làm thử

<?php
// Đọc dữ liệu JSON đầu vào
$input = fgets(STDIN);

// Giải mã chuỗi JSON thành mảng
$items = (array)json_decode($input, true);

// TODO: Viết code bên dưới để tính tổng bằng array_reduce()


// Xuất kết quả
echo "Total: $" . number_format($total, 2);
?>

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch PHP online