次の配列があります。
$learners=array('Eliza'=87, 'Joe'=81, 'Anne'=69, 'Marley'=39, 'Teddy'=39, 'Jemma'=90, 'Sylvia'=87);
これまでのところ、次のように 2 つの配列を分離することができました。
$tudents=array_keys($learners);
$scores=array_values($learners);
ランキングは以下の通りです。
Student Score Position
Jemma 90 1
Sylvia 87 2
Eliza 87 2
Joe 81 4
Anne 69 5
Marley 39 7
Teddy 69 7
名前をキーとして、位置を値として持つ新しい配列を作成したいと思います。
$positions=array('Jemma'=1, 'Sylvia'=2, 'Eliza'=2, 'Joe'=4, 'Anne'=5, 'Marley'=7, 'Teddy'=7);
これにより、スクリプトの任意の時点で任意の名前と位置をエコーできます。どうすればよいかわかりません。
スコアに重複がある場合、ランキングは単純ではありません。2 位が同点の場合は 3 位をスキップする。スコアの最後に同点が発生した場合、両方のスコアが最後の位置に配置され、前の位置がスキップされます。上記の例では、位置 6 がスキップされ、2 つの 39 が位置 7 を占めています。
どんな助けでも大歓迎です