インデックス配列の降順ソート
CoddyのPHPジャーニー「論理とフロー」セクションの一部 — レッスン 21/68。
データを逆順(大きい順、またはZからAの順)にソートする必要がある場合、PHPのrsort()関数が最適なソリューションを提供します。この関数はsort()と全く同じように動作しますが、要素を昇順ではなく降順に並べ替えます。
スコアの配列に対して rsort() がどのように機能するかを以下に示します:
<?php
$scores = [78, 95, 82, 91, 87];
rsort($scores);
print_r($scores);
// Outputs: Array ( [0] => 95 [1] => 91 [2] => 87 [3] => 82 [4] => 78 )
?>sort() と同様に、rsort() 関数は、ソートされた新しいコピーを作成するのではなく、元の配列を直接変更します。rsort() を呼び出した後、配列は降順で永続的に並べ替えられます。
この関数は、ランキングやリーダーボード、あるいは高い値から順に表示したいデータを扱う際に特に便利です。テストの点数、売上数値、あるいは逆順にする必要があるアルファベット順のリストなどを扱う場合でも、rsort() はそのタスクを効率的に処理します。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
チャレンジ
簡単1つの入力を受け取ります。それはJSON形式の売上数値の配列です。入力を読み込み、JSON文字列を配列に変換し、rsort()を使用して売上数値を降順に並べ替え、print_r()を使用してソートされた配列を出力してください。
入力形式: 数値のJSON配列を含む1行(例:[1250,3400,890,2100,1780])
期待される出力: print_r()を使用して表示された、降順にソートされた配列
チートシート
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() は新しいソート済みのコピーを作成するのではなく、元の配列を直接変更します。
自分で試してみよう
<?php
// 入力を読み込む
$input = trim(fgets(STDIN));
// JSON文字列を配列に変換する
$sales = json_decode($input, true);
// TODO: 配列を降順にソートするためのコードを以下に記述してください
// ソートされた配列を出力する
print_r($sales);
?>このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。