Tantangan: Total Keranjang Belanja
Termasuk bagian Logika dan Alur dalam perjalanan PHP di Coddy. Pelajaran 67 dari 68.
Tantangan
MudahKamu akan menerima satu input: string JSON yang mewakili array item keranjang belanja.
Input akan berupa string JSON dalam format ini: [{"name":"Laptop","price":999.99,"quantity":1},{"name":"Mouse","price":25.50,"quantity":2},{"name":"Keyboard","price":75.00,"quantity":1}]
Baca input dan dekode string JSON menjadi array item. Setiap item memiliki tiga property: name, price, dan quantity.
Hitung total biaya keranjang belanja dengan mengalikan harga setiap item dengan jumlahnya, lalu menjumlahkan semua hasilnya. Gunakan array_reduce() dengan fungsi callback khusus untuk menghitung total ini.
Setelah menghitung total, cetak dalam format berikut:
Total: $[amount]
Format jumlahnya menjadi tepat 2 angka desimal menggunakan number_format().
Format input:
- Satu baris berisi string JSON yang mewakili array item keranjang belanja dengan key
name,price, danquantity
Output yang diharapkan: Satu baris yang menampilkan total biaya dalam format: Total: $[amount] dengan jumlah yang diformat menjadi 2 angka desimal
Coba sendiri
<?php
// Baca input JSON
$input = fgets(STDIN);
// Dekode string JSON menjadi array
$items = (array)json_decode($input, true);
// TODO: Tulis kodemu di bawah ini untuk menghitung total menggunakan array_reduce()
// Tampilkan hasilnya sebagai output
echo "Total: $" . number_format($total, 2);
?>Semua pelajaran di Logika dan Alur
1Fungsi Lanjutan
Fungsi AnonimClosure dan 'use'Fungsi PanahFungsi CallbackMenggunakan 'call_user_func'Fungsi VariabelMengirim dengan ReferensiFungsi RekursifUlasan: Ragam Fungsi4Array Multidimensi
Membuat array 2DMengakses Elemen array 2DMengubah Elemen array 2DMelakukan Perulangan dengan loop Bersarangarray Asosiatif 2DRekap: Latihan Kisi Sederhana7Bekerja dengan Tanggal dan Waktu
Fungsi 'date()'Timestamp Unix dengan 'time()'Pengantar object DateTimeMemformat object DateTimeMengubah object DateTimeRangkuman: Perhitungan Tanggal10Tantangan Akhir
Tantangan: Pemeriksa PalindromTantangan: Frekuensi KarakterTantangan: Total Keranjang BelanjaTantangan: Penyaring Item Unik2Manipulasi array Lanjutan
Menambahkan dengan 'array_push'Menghapus dengan 'array_pop'Menambahkan dengan 'array_unshift'Menghapus dengan 'array_shift'Menggabungkan array berindeksMenggabungkan array asosiatifMengambil bagian dengan 'array_slice'Nilai dengan 'in_array'Kunci dengan 'array_search'Rekap: Latihan playlist3Mengurutkan array
Urutkan array berindeks secara menaikUrutkan array berindeks secara menurunUrutkan assoc array berdasarkan nilaiUrutkan assoc array berdasarkan kunciPengurutan urutan alamiPengurutan khusus dengan 'usort'Rangkuman: Pengurutan papan peringkatLatihan sendiri: Compiler PHP online