按降序排序索引数组
本课属于 Coddy PHP 学习旅程的“逻辑与流程”单元。第 21 课,共 68 课。
当你需要按相反的顺序对数据排序时,例如从高到低或从 Z 到 A,PHP 的 rsort() 函数正好能满足你的需求。这个函数的工作方式与 sort() 完全相同,但会按降序而不是升序排列元素。
下面介绍 rsort() 如何对分数数组进行排序:
<?php
$scores = [78, 95, 82, 91, 87];
rsort($scores);
print_r($scores);
// 输出:Array ( [0] => 95 [1] => 91 [2] => 87 [3] => 82 [4] => 78 )
?>和 sort() 一样,rsort() 函数会直接修改原数组,而不是创建一个新的排序副本。调用 rsort() 后,你的数组会永久按降序重新排列。
当你想显示排名、排行榜,或任何需要按值从高到低排列的数据时,这个函数特别有用。无论你处理的是考试成绩、销售数据,还是需要反向排序的字母列表,rsort() 都能高效地完成任务。
挑战
简单你将收到一个输入:一个 JSON 格式的销售额数组。读取输入,将 JSON 字符串转换为数组,使用 rsort() 按降序排列销售额,并使用 print_r() 输出排序后的数组。
输入格式:一行内容,其中包含一个数字 JSON 数组(示例:[1250,3400,890,2100,1780])
预期输出:按降序排列的数组,使用 print_r() 显示
亲手试试
<?php
// 读取输入
$input = trim(fgets(STDIN));
// 将 JSON 字符串转换为数组
$sales = json_decode($input, true);
// TODO: 在下方编写代码,将数组按降序排序
// 输出排序后的数组
print_r($sales);
?>这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: PHP 在线编译器