Menampilkan Hitung Mundur
Termasuk bagian Logika dan Alur dalam perjalanan PHP di Coddy. Pelajaran 64 dari 68.
Tantangan
MudahKamu 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, danlocation - 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
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 Sederhana2Manipulasi 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 peringkat6Fungsi array Tingkat Tinggi
Transformasi dengan 'array_map''array_map' dengan Fungsi KustomMemfilter dengan 'array_filter''array_filter' dengan Fungsi KustomMengurangi dengan 'array_reduce'Menelusuri dengan 'array_walk'Rangkuman: Pemrosesan Data9Penjadwal Acara
Data AcaraMenambahkan Acara BaruLatihan sendiri: Compiler PHP online