Récapitulatif : Tri d'un classement
Fait partie de la section Logique & Flux du Journey PHP de Coddy — leçon 26 sur 68.
Défi
FacileVous 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
ascoudesc
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
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 Playlist3Tri 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