回顾:排行榜排序
本课属于 Coddy PHP 学习旅程的“逻辑与流程”单元。第 26 课,共 68 课。
挑战
简单你会收到两个输入:第一个是 JSON 格式的玩家姓名和分数关联数组,第二个是排序顺序("asc" 或 "desc")。读取这两个输入,将 JSON 字符串转换为数组,根据指定顺序按分数对排行榜排序,然后将每位玩家的姓名和分数分别打印在单独一行,格式为:Name: Score
升序时使用 asort(),降序时使用 arsort(),以保留玩家姓名与分数之间的对应关系。
输入格式:
- 第一行:以玩家姓名为键、分数为值的 JSON 对象(示例:
{"Alice":1500,"Bob":2300,"Charlie":1800,"Diana":2100}) - 第二行:排序顺序,可以是
asc或desc
预期输出:按照指定顺序排序后,将每位玩家的姓名和分数分别打印在单独一行,格式为 Name: Score
亲手试试
<?php
// 读取 JSON 输入
$jsonInput = fgets(STDIN);
$leaderboard = (array)json_decode($jsonInput, true);
// 读取排序顺序
$order = trim(fgets(STDIN));
// TODO: 在下方编写代码,根据排序顺序对 leaderboard 排序
// 输出每位玩家的姓名和分数
foreach ($leaderboard as $name => $score) {
echo "$name: $score\n";
}
?>逻辑与流程中的所有课
自己练习: PHP 在线编译器