Elencare i prossimi eventi
Fa parte della sezione Logica e flusso del percorso PHP di Coddy. Lezione 61 di 68.
Sfida
FacileRiceverai due input: una stringa JSON che rappresenta l'array di eventi esistente e una stringa di data nel formato YYYY-MM-DD che rappresenta la data odierna.
Il primo input sarà una stringa JSON in questo formato: [{"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"}]
Il secondo input sarà una stringa di data in questo formato: 2024-04-01
Leggi entrambi gli input e decodifica la stringa JSON in un array di eventi. Crea due oggetti DateTime: uno per la data odierna (usando il secondo input) e uno per la data di ciascun evento mentre scorri gli eventi.
Filtra e mostra solo gli eventi futuri, ovvero quelli la cui data è maggiore o uguale alla data odierna. Per ogni evento futuro, stampalo nel seguente formato:
Upcoming: [name] on [date] at [location]
Stampa ogni evento futuro su una riga separata, nell'ordine in cui compare nell'array. Se la data di un evento è precedente alla data odierna, non stamparlo.
Formato dell'input:
- Prima riga: una stringa JSON che rappresenta l'array di eventi con le chiavi
name,dateelocation - Seconda riga: una stringa di data nel formato YYYY-MM-DD che rappresenta la data odierna (esempio:
2024-04-01)
Output previsto: ogni evento futuro stampato su una riga separata nel formato: Upcoming: [name] on [date] at [location]
Provalo tu
<?php
// Leggi la stringa JSON degli eventi
$eventsJson = fgets(STDIN);
$events = (array)json_decode($eventsJson, true);
// Leggi la data odierna
$todayDate = trim(fgets(STDIN));
// TODO: Scrivi il tuo codice qui sotto
// Crea un oggetto DateTime per la data odierna
// Scorri gli eventi e confronta le date
// Stampa gli eventi imminenti nel formato richiesto
?>Tutte le lezioni di Logica e flusso
1Funzioni avanzate
Funzioni anonimeClosure e 'use'Funzioni frecciaFunzioni callbackUso di 'call_user_func'Funzioni variabiliPassaggio per riferimentoFunzioni ricorsiveRiepilogo: carrellata di funzioni4Array multidimensionali
Creare un array 2DAccedere agli elementi di un array 2DModificare gli elementi di un array 2DIterare con cicli annidatiArray associativi 2DRipasso: esercizio con una griglia semplice2Manipolazioni avanzate degli array
Aggiungere con 'array_push'Rimuovere con 'array_pop'Aggiungere con 'array_unshift'Rimuovere con 'array_shift'Unire array indicizzatiUnire array associativiEstrarre con 'array_slice'Valori con 'in_array'Chiavi con 'array_search'Riepilogo: esercizio playlist3Ordinare gli array
Ordina gli array indicizzati in ordine crescenteOrdina gli array indicizzati in ordine decrescenteOrdina gli array associativi per valoreOrdina gli array associativi per chiaveOrdinamento naturaleOrdinamento personalizzato con 'usort'Ripasso: ordinamento della classifica6Funzioni di ordine superiore sugli array
Trasformare con 'array_map''array_map' con una funzione personalizzataFiltrare con 'array_filter''array_filter' con una funzione personalizzataRidurre con 'array_reduce'Iterare con 'array_walk'Riepilogo: elaborazione dei dati9Organizzatore di eventi
Dati degli eventiAggiungere un nuovo eventoEsercitati da solo: Compilatore PHP online