Menu
Coddy logo textTech

Listar próximos eventos

Parte de la sección Lógica y Flujo del Journey de PHP de Coddy — lección 61 de 68.

challenge icon

Desafío

Fácil

Recibirás dos entradas: una cadena JSON que representa el arreglo de eventos existentes y una cadena de fecha en formato YYYY-MM-DD que representa la fecha de hoy.

La primera entrada será una cadena JSON en este 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"}]

La segunda entrada será una cadena de fecha en este formato: 2024-04-01

Lee ambas entradas y decodifica la cadena JSON en un arreglo de eventos. Crea dos objetos DateTime: uno para la fecha de hoy (usando la segunda entrada) y uno para la fecha de cada evento a medida que iteras a través de los eventos.

Filtra y muestra solo los eventos próximos: eventos cuya fecha sea mayor o igual a la fecha de hoy. Para cada evento próximo, imprímelo en el siguiente formato:

Upcoming: [name] on [date] at [location]

Imprime cada evento próximo en una línea separada, en el orden en que aparecen en el arreglo. Si la fecha de un evento es anterior a la fecha de hoy, no lo imprimas.

Formato de entrada:

  • Primera línea: Una cadena JSON que representa el arreglo de eventos con las claves name, date y location
  • Segunda línea: Una cadena de fecha en formato YYYY-MM-DD que representa la fecha de hoy (ejemplo: 2024-04-01)

Salida esperada: Cada evento próximo impreso en una línea separada en el formato: Upcoming: [name] on [date] at [location]

Pruébalo tú mismo

<?php
// Leer la cadena JSON de eventos
$eventsJson = fgets(STDIN);
$events = (array)json_decode($eventsJson, true);

// Leer la fecha de hoy
$todayDate = trim(fgets(STDIN));

// TODO: Escribe tu código a continuación
// Crear un objeto DateTime para la fecha de hoy
// Recorrer los eventos y comparar las fechas
// Imprimir los próximos eventos en el formato requerido

?>

Todas las lecciones de Lógica y Flujo