Регистрация
Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Наша группа в Telegram для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov
The SeekableIterator interface
(PHP 5 >= 5.1.0)
Введение
The Seekable iterator.
Обзор интерфейсов
SeekableIterator extends Iterator {
/* Методы */
abstract public void seek ( int $position )
/* Наследуемые методы */
abstract public mixed Iterator::current ( void )
abstract public scalar Iterator::key ( void )
abstract public void Iterator::next ( void )
abstract public void Iterator::rewind ( void )
abstract public boolean Iterator::valid ( void )
}
Пример #1 Basic usage
This example demonstrates creating a custom SeekableIterator, seeking to a position and handling an invalid position.
class MySeekableIterator implements SeekableIterator {
private $position = 0;
private $array = array(
"first element",
"second element",
"third element",
"fourth element"
);
public function seek($position) {
$this->position = $position;
if (!$this->valid()) {
throw new OutOfBoundsException("invalid seek position ($position)");
}
}
/* Methods required for Iterator interface */
public function __construct() {
$this->position = 0;
}
public function rewind() {
$this->position = 0;
}
public function current() {
return $this->array[$this->position];
}
public function key() {
return $this->position;
}
public function next() {
++$this->position;
}
public function valid() {
return isset($this->array[$this->position]);
}
}
try {
$it = new MySeekableIterator;
echo $it->current(), "\n";
$it->seek(2);
echo $it->current(), "\n";
$it->seek(1);
echo $it->current(), "\n";
$it->seek(10);
} catch (OutOfBoundsException $e) {
echo $e->getMessage();
}
Результатом выполнения данного примера будет что-то подобное:
first element third element second element invalid seek position (10)
Содержание
- SeekableIterator::seek — Seeks to a position
Описание класса seekableiterator, примеры использования класса seekableiterator.
Смотрите также:
Описание на ru2.php.net
Описание на php.ru