Visualizzare un conto alla rovescia
Fa parte della sezione Logica e flusso del percorso PHP di Coddy. Lezione 64 di 68.
Sfida
FacileRiceverai tre input: una stringa JSON che rappresenta un array di eventi, una stringa di data nel formato YYYY-MM-DD che rappresenta la data di oggi e il nome di un evento per cui visualizzare il conto alla rovescia.
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"}]
Il secondo input sarà una stringa di data in questo formato: 2024-04-01
Il terzo input sarà il nome di un evento in questo formato: Team Meeting
Leggi tutti e tre gli input e decodifica la stringa JSON in un array di eventi. Trova l'evento che corrisponde al nome fornito. Crea oggetti DateTime sia per la data di oggi sia per la data dell'evento.
Calcola la differenza tra la data dell'evento e la data di oggi. Usa il metodo diff() sull'oggetto DateTime di oggi, passando come parametro l'oggetto DateTime dell'evento. Restituisce un oggetto DateInterval. Accedi alla proprietà days di questo oggetto per ottenere il numero di giorni tra le due date.
Stampa il conto alla rovescia nel formato seguente:
Countdown to [event name]: [number of days] days
Se l'evento non viene trovato nell'array, stampa: Event not found
Formato di 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 di oggi (esempio:
2024-04-01) - Terza riga: il nome di un evento per cui visualizzare il conto alla rovescia (esempio:
Team Meeting)
Output previsto: una singola riga che mostra il conto alla rovescia nel formato: Countdown to [event name]: [number of days] days, oppure Event not found se l'evento non esiste
Provalo tu
<?php
// Leggi gli input
$jsonString = trim(fgets(STDIN));
$todayDate = trim(fgets(STDIN));
$eventName = trim(fgets(STDIN));
// Decodifica la stringa JSON nell'array degli eventi
$events = (array)json_decode($jsonString, true);
// TODO: Scrivi il tuo codice qui sotto
// Trova l'evento che corrisponde al nome dell'evento fornito
// Crea oggetti DateTime per la data odierna e la data dell'evento
// Calcola la differenza usando il metodo diff()
// Accedi alla proprietà days dell'oggetto DateInterval
// Mostra il risultato
echo $result;
?>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