Ajouter une note à un élève
Fait partie de la section Logique & Flux du Journey PHP de Coddy — leçon 35 sur 68.
Défi
FacileVous recevrez trois entrées : un objet JSON représentant le carnet de notes actuel des étudiants, le nom d'un étudiant et une note à ajouter. Le carnet de notes utilise les noms des étudiants comme clés, chaque étudiant ayant un "id" et un tableau "grades". La deuxième entrée est le nom de l'étudiant, et la troisième entrée est la note à ajouter (sous forme de nombre).
Lisez les trois entrées, convertissez la chaîne JSON en un tableau de carnet de notes, localisez l'étudiant spécifié, ajoutez la nouvelle note à son tableau de notes et affichez le carnet de notes mis à jour en utilisant print_r().
Format d'entrée :
- Première ligne : Un objet JSON représentant le carnet de notes existant (exemple :
{"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}}) - Deuxième ligne : Le nom de l'étudiant (exemple :
Alice) - Troisième ligne : La note à ajouter (exemple :
88)
Sortie attendue : Le tableau du carnet de notes mis à jour affiché à l'aide de print_r(), avec la nouvelle note ajoutée au tableau de notes de l'étudiant spécifié.
Essayez vous-même
<?php
// Lire la chaîne JSON du carnet de notes
$gradebookJson = fgets(STDIN);
// Lire le nom de l'étudiant
$studentName = trim(fgets(STDIN));
// Lire la note à ajouter
$grade = intval(fgets(STDIN));
// Convertir le JSON en tableau
$gradebook = (array)json_decode($gradebookJson, true);
// TODO: Écrivez votre code ci-dessous
// Localiser l'étudiant et ajouter la nouvelle note à son tableau de notes
// Afficher le carnet de notes mis à jour
print_r($gradebook);
?>Toutes les leçons de Logique & Flux
1Fonctions avancées
Fonctions anonymesClosures et 'use'Fonctions fléchéesFonctions de rappelUtilisation de 'call_user_func'Fonctions variablesPassage par référenceFonctions récursivesRécapitulatif : Mélange de fonctions4Tableaux multidimensionnels
Créer un tableau 2DAccéder aux éléments d'un tableau 2DModifier les éléments d'un tableau 2DItérer avec des boucles imbriquéesTableaux associatifs 2DRécapitulatif : Exercice de grille simple2Manipulations avancées de tableaux
Ajouter avec 'array_push'Supprimer avec 'array_pop'Ajouter avec 'array_unshift'Supprimer avec 'array_shift'Fusionner des tableaux indexésFusionner des tableaux associatifsExtraire avec 'array_slice'Valeurs avec 'in_array'Clés avec 'array_search'Récapitulatif : Exercice Playlist5Carnet de notes des élèves
Configuration du projet : Structure de donnéesAjouter un nouvel élèveAjouter une note à un élèveCalculer la moyenne d'un élèveTrouver le meilleur élèveGénérer un bulletin de notes3Tri des tableaux
Trier les tableaux indexés par ordre croissantTrier les tableaux indexés par ordre décroissantTrier les tableaux associatifs par valeurTrier les tableaux associatifs par cléTri par ordre naturelTri personnalisé avec 'usort'Récapitulatif : Tri d'un classement