Agregar un nuevo evento
Parte de la sección Lógica y Flujo del Journey de PHP de Coddy — lección 60 de 68.
Desafío
FácilRecibirás dos entradas: una cadena JSON que representa el arreglo de eventos existentes de la lección anterior, y tres valores en la segunda línea separados por espacios que representan el nombre, la fecha y la ubicación de un nuevo evento.
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"}]
La segunda entrada serán tres valores separados por espacios en este formato: Workshop 2024-06-10 Library
Lee ambas entradas. Decodifica la cadena JSON en un arreglo de eventos. Luego, analiza la segunda entrada para extraer el nombre, la fecha y la ubicación del evento. Crea un nuevo arreglo asociativo para este evento con las claves "name", "date", y "location", y agrégalo al arreglo de eventos usando array_push().
Después de agregar el nuevo evento, itera a través de todos los eventos en el arreglo e imprime cada uno en el siguiente formato:
Event: [name] on [date] at [location]
Imprime cada evento en una línea separada, en el orden en que aparecen en el arreglo.
Formato de entrada:
- Primera línea: Una cadena JSON que representa el arreglo de eventos existentes
- Segunda línea: Tres valores separados por espacios que representan el nombre, la fecha y la ubicación del nuevo evento (ejemplo:
Workshop 2024-06-10 Library)
Salida esperada: Cada evento (incluyendo el recién agregado) impreso en una línea separada en el formato: Event: [name] on [date] at [location]
Pruébalo tú mismo
<?php
// Leer la cadena JSON de la primera entrada
$jsonInput = trim(fgets(STDIN));
// Leer los detalles del nuevo evento de la segunda entrada
$newEventInput = trim(fgets(STDIN));
// Decodificar la cadena JSON en un array
$events = (array)json_decode($jsonInput, true);
// Analizar los detalles del nuevo evento (nombre, fecha, ubicación)
list($name, $date, $location) = explode(' ', $newEventInput);
// TODO: Escribe tu código a continuación
// Crea un nuevo array de evento y añádelo al array de eventos usando array_push()
// Luego itera a través de todos los eventos e imprímelos en el formato requerido
?>Todas las lecciones de Lógica y Flujo
1Funciones avanzadas
Funciones anónimasClosures y 'use'Funciones de flechaFunciones callbackUso de 'call_user_func'Funciones variablesPaso por referenciaFunciones recursivasResumen: Miscelánea de funciones4Arreglos multidimensionales
Crear un arreglo 2DAcceder a elementos de un arreglo 2DModificar elementos de un arreglo 2DIterar con bucles anidadosArreglos asociativos 2DResumen: Ejercicio de cuadrícula simple2Manipulación avanzada de arrays
Agregar con 'array_push'Eliminar con 'array_pop'Agregar con 'array_unshift'Eliminar con 'array_shift'Fusionar arrays indexadosFusionar arrays asociativosExtraer con 'array_slice'Valores con 'in_array'Claves con 'array_search'Resumen: Ejercicio de Playlist3Ordenar Arrays
Ordenar arrays indexados de forma ascendenteOrdenar arrays indexados de forma descendenteOrdenar arrays asociativos por valorOrdenar arrays asociativos por claveOrdenación por orden naturalOrdenación personalizada con 'usort'Resumen: Ordenar tablas de clasificación6Funciones de array de orden superior
Transformación con 'array_map''array_map' con funciones personalizadasFiltrado con 'array_filter''array_filter' con funciones personalizadasReducción con 'array_reduce'Recorrido con 'array_walk'Resumen: Procesamiento de datos9Planificador de eventos
Datos del eventoAgregar un nuevo evento