Menu
Coddy logo textTech

Récapitulatif : Tri d'un classement

Fait partie de la section Logique & Flux du Journey PHP de Coddy — leçon 26 sur 68.

challenge icon

Défi

Facile

Vous recevrez deux entrées : premièrement, un tableau associatif de noms de joueurs et leurs scores au format JSON, et deuxièmement, un ordre de tri (soit "asc" ou "desc"). Lisez les deux entrées, convertissez la chaîne JSON en un tableau, triez le classement par scores selon l'ordre spécifié, et affichez le nom et le score de chaque joueur sur une ligne séparée au format : Name: Score

Utilisez asort() pour l'ordre croissant et arsort() pour l'ordre décroissant afin de maintenir les associations des noms de joueurs avec leurs scores.

Format d'entrée :

  • Première ligne : Un objet JSON avec les noms des joueurs comme clés et les scores comme valeurs (exemple : {"Alice":1500,"Bob":2300,"Charlie":1800,"Diana":2100})
  • Deuxième ligne : L'ordre de tri - soit asc ou desc

Sortie attendue : Le nom et le score de chaque joueur sur une ligne séparée au format Name: Score, triés selon l'ordre spécifié

Essayez vous-même

<?php
// Lire l'entrée JSON
$jsonInput = fgets(STDIN);
$leaderboard = (array)json_decode($jsonInput, true);

// Lire l'ordre de tri
$order = trim(fgets(STDIN));

// TODO: Écrivez votre code ci-dessous pour trier le classement en fonction de l'ordre


// Afficher le nom et le score de chaque joueur
foreach ($leaderboard as $name => $score) {
    echo "$name: $score\n";
}
?>

Toutes les leçons de Logique & Flux