キーとしてPlayerオブジェクトを持ち、それに関連付けられた情報としてスコアを持つSPLObjectStorageオブジェクトがあります。プレーヤーオブジェクトは、スコアの高いものから低いものの順にストレージに追加されますが、今は逆の順序でオブジェクトを繰り返す必要があります。
また、指定されたオフセットから開始するまでループできる必要があります。私はこの部分を以下で理解しました、私は最初にそれを逆転させる良い方法を理解することができません。
// $players_group = new SPLObjectStorage()
// code to add Player and Score would go here
// above lines just for example
# NEED TO REVERSE ORDER PLAYERS GROUP HERE
$infinite_it = new InfiniteIterator($players_group);
$limit_it = new LimitIterator($infinite_it, $current_offset, $players_group->count());
foreach($limit_it as $p){
// properly outputting from offset all the way around
// but I need it in reverse order
}
ストレージオブジェクトをループしてすべてを配列にプッシュし、array_reverseを実行して、最後にforeachループを続行する必要がないようにしたいと思います。