データの構造は大体こんな感じです
リーリー並べ替えルールは、金メダルが最初に比較され、金メダルは常に銀メダルより優れており、銀メダルは常に銅メダルより優れており、銅メダルは常にIDよりも優れており、IDは最初の配列シーケンス番号です
スコア内の 3 つの数字は、それぞれ金、銀、銅の量を表します
組み込み関数の使用をあまり必要としないものは、PHP で実装するのが最適です
データの構造は大体こんな感じです
リーリー並べ替えルールは、金メダルが最初に比較され、金メダルは常に銀メダルより優れており、銀メダルは常に銅メダルより優れており、銅メダルは常にIDよりも優れており、IDは最初の配列シーケンス番号です
スコア内の 3 つの数字は、それぞれ金、銀、銅の量を表します
組み込み関数の使用をあまり必要としないものは、PHP を使用して実装するのが最適です
メダルの数を表す数字が3つありますが、せめて並べ替えのルールを教えていただけますか?
メダルの総数ですか?それぞれ金、銀、銅に応じて?それとも奇妙な順列でしょうか?
多くの方法があります。怠惰な方法は、最初に金メダルで並べ替え、同じ金メダルを持つものを選択し、次に同じものの中から銀メダルで並べ替えることです。
一度に並べ替えたい場合は、金、銀、銅のシリアル番号を数値に変更して並べ替えてください。たとえば、配列は次のようになります—
リーリー
PHP array_multisort は、SQL ORDER BY のような複数のフィールドによる並べ替えを実装します。
たとえば、オリンピックのメダルリストは、金メダル、銀メダル、銅メダルの数で降順に並べ替えられます。
リーリー
リーリー
スコアはデザイン時に分離するのが最適です。
クラス (国、金、銀、銅の番号を含む) を設計し、Comparable インターフェイスを実装し、説明したルールに従って比較メソッドを実装します。単純なことではありませんか?