SplObjectStorage::seek

位置を移動する

説明

public void SplObjectStorage::seek(int $offset)

イテレータ内の指定した位置に移動します。

パラメータ

offset
移動先の位置。

戻り値

値を返しません。

エラー / 例外

offset に移動できない場合は、 OutOfBoundsException をスローします。

例1 SplObjectStorage::seek の例

イテレータの 2 番目の位置に移動します。

<?php
class Test {
    public function __construct(public string $marker) {}
}

$a = new Test("a");
$b = new Test("b");
$c = new Test("c");

$storage = new SplObjectStorage();
$storage[$a] = "first";
$storage[$b] = "second";
$storage[$c] = "third";

$storage->seek(2);
var_dump($storage->key());
var_dump($storage->current());
?>

上の例の出力は以下となります。

int(2)
object(Test)#3 (1) {
  ["marker"]=>
  string(1) "c"
}

参考

  • SeekableIterator