Menampilkan Acara Mendatang
Termasuk bagian Logika dan Alur dalam perjalanan PHP di Coddy. Pelajaran 61 dari 68.
Tantangan
MudahKamu akan menerima dua input: string JSON yang merepresentasikan array berisi acara yang ada, dan string tanggal dalam format YYYY-MM-DD yang merepresentasikan tanggal hari ini.
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"},{"name":"Workshop","date":"2024-03-10","location":"Library"}]
Input kedua berupa string tanggal dengan format ini: 2024-04-01
Baca kedua input dan decode string JSON menjadi array berisi acara. Buat dua object DateTime: satu untuk tanggal hari ini (menggunakan input kedua) dan satu untuk tanggal setiap acara saat kamu melakukan iterasi melalui acara-acara tersebut.
Saring dan tampilkan hanya acara mendatang, yaitu acara yang tanggalnya lebih besar dari atau sama dengan tanggal hari ini. Untuk setiap acara mendatang, cetak dengan format berikut:
Upcoming: [name] on [date] at [location]
Cetak setiap acara mendatang pada baris terpisah, sesuai urutannya di dalam array. Jika tanggal suatu acara sebelum tanggal hari ini, jangan cetak acara tersebut.
Format input:
- Baris pertama: String JSON yang merepresentasikan array berisi acara dengan kunci
name,date, danlocation - Baris kedua: String tanggal dalam format YYYY-MM-DD yang merepresentasikan tanggal hari ini (contoh:
2024-04-01)
Output yang diharapkan: Setiap acara mendatang dicetak pada baris terpisah dengan format: Upcoming: [name] on [date] at [location]
Coba sendiri
<?php
// Baca string JSON berisi acara
$eventsJson = fgets(STDIN);
$events = (array)json_decode($eventsJson, true);
// Baca tanggal hari ini
$todayDate = trim(fgets(STDIN));
// TODO: Tulis kodemu di bawah ini
// Buat object DateTime untuk tanggal hari ini
// Ulangi setiap acara dan bandingkan tanggalnya
// Cetak acara mendatang dalam format yang diminta
?>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