Adicionando um Novo Evento
Parte da seção Lógica & Fluxo do Journey de PHP da Coddy — lição 60 de 68.
Desafio
FácilVocê receberá duas entradas: uma string JSON representando o array de eventos existentes da lição anterior, e três valores na segunda linha separados por espaços representando o nome, a data e o local de um novo evento.
A primeira entrada será uma string JSON neste formato: [{"name":"Team Meeting","date":"2024-04-15","location":"Office"},{"name":"Conference","date":"2024-05-20","location":"Convention Center"}]
A segunda entrada serão três valores separados por espaços neste formato: Workshop 2024-06-10 Library
Leia ambas as entradas. Decodifique a string JSON em um array de eventos. Em seguida, analise a segunda entrada para extrair o nome, a data e o local do evento. Crie um novo array associativo para este evento com as chaves "name", "date" e "location", e adicione-o ao array de eventos usando array_push().
Após adicionar o novo evento, itere por todos os eventos no array e imprima cada um no seguinte formato:
Event: [name] on [date] at [location]
Imprima cada evento em uma linha separada, na ordem em que aparecem no array.
Formato de entrada:
- Primeira linha: Uma string JSON representando o array de eventos existentes
- Segunda linha: Três valores separados por espaços representando o nome, a data e o local do novo evento (exemplo:
Workshop 2024-06-10 Library)
Saída esperada: Cada evento (incluindo o recém-adicionado) impresso em uma linha separada no formato: Event: [name] on [date] at [location]
Experimente você mesmo
<?php
// Lê a string JSON da primeira entrada
$jsonInput = trim(fgets(STDIN));
// Lê os detalhes do novo evento da segunda entrada
$newEventInput = trim(fgets(STDIN));
// Decodifica a string JSON em um array
$events = (array)json_decode($jsonInput, true);
// Analisa os detalhes do novo evento (nome, data, local)
list($name, $date, $location) = explode(' ', $newEventInput);
// TODO: Escreva seu código abaixo
// Crie um novo array de evento e adicione-o ao array de eventos usando array_push()
// Em seguida, itere por todos os eventos e imprima-os no formato exigido
?>Todas as lições de Lógica & Fluxo
1Funções Avançadas
Funções AnônimasClosures e 'use'Arrow FunctionsFunções de CallbackUsando 'call_user_func'Funções VariáveisPassagem por ReferênciaFunções RecursivasRecapitulação: Mix de Funções4Arrays Multidimensionais
Criando um Array 2DAcessando Elementos de um Array 2DModificando Elementos de um Array 2DIterando com Loops AninhadosArrays Associativos 2DRecapitulação: Exercício de Grade Simples2Manipulações Avançadas de Arrays
Adicionando com 'array_push'Removendo com 'array_pop'Adicionando com 'array_unshift'Removendo com 'array_shift'Mesclando Arrays IndexadosMesclando Arrays AssociativosExtraindo com 'array_slice'Valores com 'in_array'Chaves com 'array_search'Recapitulação: Exercício de Playlist3Ordenação de Arrays
Ordenar Arrays Indexados (Crescente)Ordenar Arrays Indexados (Decrescente)Ordenar Arrays Associativos por ValorOrdenar Arrays Associativos por ChaveOrdenação por Ordem NaturalOrdenação Personalizada com 'usort'Recapitulação: Ordenação de Leaderboard6Funções de Ordem Superior para Arrays
Transformando com 'array_map''array_map' com Funções PersonalizadasFiltrando com 'array_filter''array_filter' com Funções PersonalizadasReduzindo com 'array_reduce'Percorrendo com 'array_walk'Recapitulação: Processamento de Dados9Agendador de Eventos
Dados do EventoAdicionando um Novo Evento