Agregar una Calificación a un Estudiante
Parte de la sección Lógica y Flujo del Journey de PHP de Coddy — lección 35 de 68.
Desafío
FácilRecibirás tres entradas: un objeto JSON que representa el libro de calificaciones de los estudiantes existente, el nombre de un estudiante y una calificación para añadir. El libro de calificaciones utiliza los nombres de los estudiantes como claves, y cada estudiante tiene un "id" y un array "grades". La segunda entrada es el nombre del estudiante, y la tercera entrada es la calificación a añadir (como un número).
Lee las tres entradas, convierte la cadena JSON en un array de libro de calificaciones, localiza al estudiante especificado, añade la nueva calificación a su array de calificaciones e imprime el libro de calificaciones actualizado utilizando print_r().
Formato de entrada:
- Primera línea: Un objeto JSON que representa el libro de calificaciones existente (ejemplo:
{"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}}) - Segunda línea: El nombre del estudiante (ejemplo:
Alice) - Tercera línea: La calificación a añadir (ejemplo:
88)
Resultado esperado: El array del libro de calificaciones actualizado mostrado mediante print_r(), con la nueva calificación añadida al array de calificaciones del estudiante especificado
Pruébalo tú mismo
<?php
// Leer la cadena JSON del libro de calificaciones
$gradebookJson = fgets(STDIN);
// Leer el nombre del estudiante
$studentName = trim(fgets(STDIN));
// Leer la calificación a añadir
$grade = intval(fgets(STDIN));
// Convertir JSON a un arreglo
$gradebook = (array)json_decode($gradebookJson, true);
// TODO: Escribe tu código a continuación
// Localizar al estudiante y añadir la nueva calificación a su arreglo de calificaciones
// Mostrar el libro de calificaciones actualizado
print_r($gradebook);
?>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 Playlist5Registro de Calificaciones
Configuración del Proyecto: Estructura de DatosAgregar un Nuevo EstudianteAgregar una Calificación a un EstudianteCalcular el Promedio del EstudianteEncontrar al Mejor EstudianteGenerar un Reporte de Calificaciones3Ordenar 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ón