Menu
Coddy logo textTech

Ripasso: ordinamento della classifica

Fa parte della sezione Logica e flusso del percorso PHP di Coddy. Lezione 26 di 68.

challenge icon

Sfida

Facile

Riceverai due input: il primo è un array associativo di nomi dei giocatori e dei loro punteggi in formato JSON, il secondo è un ordine di ordinamento (o "asc" o "desc"). Leggi entrambi gli input, converti la stringa JSON in un array, ordina la classifica in base ai punteggi secondo l'ordine specificato e stampa il nome e il punteggio di ogni giocatore su una riga separata nel formato: Name: Score

Usa asort() per l'ordine crescente e arsort() per l'ordine decrescente, in modo da mantenere le associazioni tra i nomi dei giocatori e i relativi punteggi.

Formato dell'input:

  • Prima riga: oggetto JSON con i nomi dei giocatori come chiavi e i punteggi come valori (esempio: {"Alice":1500,"Bob":2300,"Charlie":1800,"Diana":2100})
  • Seconda riga: ordine di ordinamento: asc o desc

Output previsto: il nome e il punteggio di ogni giocatore su una riga separata nel formato Name: Score, ordinati secondo l'ordine specificato

Provalo tu

<?php
// Leggi l'input JSON
$jsonInput = fgets(STDIN);
$leaderboard = (array)json_decode($jsonInput, true);

// Leggi l'ordine di ordinamento
$order = trim(fgets(STDIN));

// TODO: Scrivi il codice qui sotto per ordinare la classifica in base all'ordine indicato


// Mostra il nome e il punteggio di ogni giocatore
foreach ($leaderboard as $name => $score) {
    echo "$name: $score\n";
}
?>

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore PHP online