(PHP 8 >= 8.4.0)
SplObjectStorage::seek — Перемещает указатель в итераторе
Метод перемещает указатель в итераторе на заданную позицию.
offset
Функция не возвращает значения после выполнения.
Метод выбрасывает исключение OutOfBoundsException,
если значение смещения offset
выходит за пределы доступного диапазона.
Пример #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" }