Podsumowanie: sortowanie tabeli wyników
Część sekcji Logika i przepływ programu ścieżki PHP w Coddy. Lekcja 26 z 68.
Wyzwanie
ŁatwyOtrzymasz dwa dane wejściowe: najpierw tablicę asocjacyjną z nazwami graczy i ich wynikami w formacie JSON, a następnie kolejność sortowania (albo "asc", albo "desc"). Odczytaj oba dane wejściowe, przekształć ciąg JSON w tablicę, posortuj ranking według wyników zgodnie z podaną kolejnością i wypisz nazwę każdego gracza oraz jego wynik w osobnym wierszu w formacie: Name: Score
Użyj asort() do sortowania rosnącego i arsort() do sortowania malejącego, aby zachować powiązanie nazw graczy z ich wynikami.
Format danych wejściowych:
- Pierwszy wiersz: obiekt JSON z nazwami graczy jako kluczami i wynikami jako wartościami (przykład:
{"Alice":1500,"Bob":2300,"Charlie":1800,"Diana":2100}) - Drugi wiersz: kolejność sortowania — albo
asc, albodesc
Oczekiwane dane wyjściowe: Nazwa każdego gracza i jego wynik w osobnym wierszu w formacie Name: Score, posortowane zgodnie z podaną kolejnością
Spróbuj swoich sił
<?php
// Odczytaj dane wejściowe JSON
$jsonInput = fgets(STDIN);
$leaderboard = (array)json_decode($jsonInput, true);
// Odczytaj kolejność sortowania
$order = trim(fgets(STDIN));
// TODO: Napisz poniżej kod sortujący tabelę wyników zgodnie z podaną kolejnością
// Wyświetl imię i wynik każdego gracza
foreach ($leaderboard as $name => $score) {
echo "$name: $score\n";
}
?>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ą3Sortowanie 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