Dodawanie oceny uczniowi
Część sekcji Logika i przepływ programu ścieżki PHP w Coddy. Lekcja 35 z 68.
Wyzwanie
ŁatwyOtrzymasz trzy dane wejściowe: obiekt JSON reprezentujący istniejący dziennik ocen uczniów, imię i nazwisko ucznia oraz ocenę do dodania. Dziennik ocen używa imion i nazwisk uczniów jako kluczy, a każdy uczeń ma "id" i tablicę "grades". Drugą daną wejściową jest imię i nazwisko ucznia, a trzecią — ocena do dodania (jako liczba).
Odczytaj wszystkie trzy dane wejściowe, przekształć ciąg JSON w tablicę dziennika ocen, znajdź wskazanego ucznia, dodaj nową ocenę do jego tablicy ocen i wyświetl zaktualizowany dziennik ocen za pomocą print_r().
Format danych wejściowych:
- Pierwszy wiersz: obiekt JSON reprezentujący istniejący dziennik ocen (przykład:
{"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}}) - Drugi wiersz: imię i nazwisko ucznia (przykład:
Alice) - Trzeci wiersz: ocena do dodania (przykład:
88)
Oczekiwane wyjście: zaktualizowana tablica dziennika ocen wyświetlona za pomocą print_r(), z nową oceną dodaną do tablicy ocen wskazanego ucznia
Spróbuj swoich sił
<?php
// Wczytaj ciąg JSON z dziennikiem ocen
$gradebookJson = fgets(STDIN);
// Wczytaj imię ucznia
$studentName = trim(fgets(STDIN));
// Wczytaj ocenę do dodania
$grade = intval(fgets(STDIN));
// Przekształć JSON w tablicę
$gradebook = (array)json_decode($gradebookJson, true);
// TODO: Napisz swój kod poniżej
// Znajdź ucznia i dodaj nową ocenę do jego tablicy ocen
// Wyświetl zaktualizowany dziennik ocen
print_r($gradebook);
?>Wszystkie lekcje w sekcji Logika i przepływ programu
1Zaawansowane funkcje
Funkcje anonimoweDomknięcia i „use”Funkcje strzałkoweFunkcje zwrotneUżywanie „call_user_func”Funkcje zmiennePrzekazywanie przez referencjęFunkcje rekurencyjnePowtórka: przegląd funkcji4Tablice wielowymiarowe
Tworzenie tablicy 2DDostęp do elementów tablicy 2DModyfikowanie elementów tablicy 2DIterowanie z użyciem zagnieżdżonych pętliAsocjacyjne tablice 2DPodsumowanie: ćwiczenie z prostą siatką2Zaawansowane operacje na tablicach
Dodawanie za pomocą 'array_push'Usuwanie za pomocą 'array_pop'Dodawanie za pomocą 'array_unshift'Usuwanie za pomocą 'array_shift'Łączenie tablic indeksowanychŁączenie tablic asocjacyjnychWyodrębnianie za pomocą 'array_slice'Wyszukiwanie wartości za pomocą 'in_array'Wyszukiwanie kluczy za pomocą 'array_search'Podsumowanie: ćwiczenie z playlistą5Dziennik ocen uczniów
Konfiguracja projektu: struktura danychDodawanie nowego uczniaDodawanie oceny uczniowiObliczanie średniej uczniaWyszukiwanie ucznia z najwyższą ocenąGenerowanie świadectwa3Sortowanie tablic
Sortowanie tablic indeksowanych rosnącoSortowanie tablic indeksowanych malejącoSortowanie tablic asocjacyjnych według wartościSortowanie tablic asocjacyjnych według kluczaSortowanie w kolejności naturalnejSortowanie niestandardowe za pomocą 'usort'Podsumowanie: sortowanie tabeli wynikówPoćwicz samodzielnie: Kompilator PHP online