Adicionando um Novo Aluno
Parte da seção Lógica & Fluxo do Journey de PHP da Coddy — lição 34 de 68.
Desafio
FácilVocê receberá duas entradas: um objeto JSON representando o livro de notas (gradebook) existente dos alunos e as informações de um novo aluno. O livro de notas usa os nomes dos alunos como chaves, com cada aluno possuindo um "id" e um array de "grades". A segunda entrada contém os dados do novo aluno no formato: name,id (exemplo: Diana,104).
Leia ambas as entradas, converta a string JSON em um array de gradebook, analise as informações do novo aluno, adicione o novo aluno ao gradebook com um array de notas vazio e imprima o gradebook atualizado usando print_r().
Formato de entrada:
- Primeira linha: Um objeto JSON representando o gradebook existente (exemplo:
{"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]}}) - Segunda linha: Informações do novo aluno no formato
name,id(exemplo:Diana,104)
Saída esperada: O array do gradebook atualizado exibido usando print_r(), com o novo aluno adicionado com um array de notas vazio
Experimente você mesmo
<?php
// Lê a entrada JSON do livro de notas
$gradebookJson = fgets(STDIN);
$gradebook = (array)json_decode($gradebookJson, true);
// Lê as informações do novo aluno
$newStudentInfo = trim(fgets(STDIN));
// TODO: Escreva seu código abaixo
// Analise as informações do novo aluno e adicione-as ao livro de notas com um array de notas vazio
// Exibe o livro de notas atualizado
print_r($gradebook);
?>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 Playlist5Boletim de Alunos
Configuração do Projeto: Estrutura de DadosAdicionando um Novo AlunoAdicionando uma Nota a um AlunoCalculando a Média do AlunoEncontrando o Melhor AlunoGerando um Boletim3Ordenaçã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 Leaderboard