Menu
CoddyTech

Menampilkan Hitung Mundur

Termasuk bagian Logika dan Alur dalam perjalanan PHP di Coddy. Pelajaran 64 dari 68.

challenge icon

Tantangan

Mudah

Kamu akan menerima tiga input: string JSON yang merepresentasikan array acara, string tanggal berformat YYYY-MM-DD yang merepresentasikan tanggal hari ini, dan nama acara untuk menampilkan hitung mundurnya.

Input pertama berupa string JSON dengan format ini: [{"name":"Team Meeting","date":"2024-04-15","location":"Office"},{"name":"Conference","date":"2024-05-20","location":"Convention Center"}]

Input kedua berupa string tanggal dengan format ini: 2024-04-01

Input ketiga berupa nama acara dengan format ini: Team Meeting

Baca ketiga input, lalu dekode string JSON menjadi array acara. Temukan acara yang cocok dengan nama acara yang diberikan. Buat object DateTime untuk tanggal hari ini dan tanggal acara.

Hitung selisih antara tanggal acara dan tanggal hari ini. Gunakan method diff() pada object DateTime untuk tanggal hari ini, dengan memberikan object DateTime untuk tanggal acara sebagai parameter. Ini akan menghasilkan object DateInterval. Akses property days dari object ini untuk mendapatkan jumlah hari di antara kedua tanggal.

Cetak hitung mundur dengan format berikut:

Countdown to [event name]: [number of days] days

Jika acara tidak ditemukan di dalam array, cetak: Event not found

Format input:

  • Baris pertama: String JSON yang merepresentasikan array acara dengan kunci name, date, dan location
  • Baris kedua: String tanggal berformat YYYY-MM-DD yang merepresentasikan tanggal hari ini (contoh: 2024-04-01)
  • Baris ketiga: Nama acara untuk menampilkan hitung mundurnya (contoh: Team Meeting)

Output yang diharapkan: Satu baris yang menampilkan hitung mundur dengan format: Countdown to [event name]: [number of days] days, atau Event not found jika acara tidak ditemukan

Coba sendiri

<?php
// Baca input
$jsonString = trim(fgets(STDIN));
$todayDate = trim(fgets(STDIN));
$eventName = trim(fgets(STDIN));

// Dekode string JSON menjadi array events
$events = (array)json_decode($jsonString, true);

// TODO: Tulis kodemu di bawah ini
// Cari event yang sesuai dengan nama event yang diberikan
// Buat object DateTime untuk tanggal hari ini dan tanggal event
// Hitung selisihnya menggunakan method diff()
// Akses property days dari object DateInterval

// Tampilkan hasilnya sebagai output
echo $result;
?>

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler PHP online