Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Интерфейс Iterator
(PHP 5 >= 5.0.0)
Введение
Интерфейс для внешних итераторов или объектов, которые могут повторять себя изнутри.
Обзор интерфейсов
Iterator extends Traversable {
/* Методы */
abstract public mixed current ( void )
abstract public scalar key ( void )
abstract public void next ( void )
abstract public void rewind ( void )
abstract public boolean valid ( void )
}
Пример #1 Основы использования
Этот пример демонстрирует в каком порядке методы вызываются когда используется foreach с итератором.
class myIterator implements Iterator {
private $position = 0;
private $array = array(
"firstelement",
"secondelement",
"lastelement",
);
public function __construct() {
$this->position = 0;
}
function rewind() {
var_dump(__METHOD__);
$this->position = 0;
}
function current() {
var_dump(__METHOD__);
return $this->array[$this->position];
}
function key() {
var_dump(__METHOD__);
return $this->position;
}
function next() {
var_dump(__METHOD__);
++$this->position;
}
function valid() {
var_dump(__METHOD__);
return isset($this->array[$this->position]);
}
}
$it = new myIterator;
foreach($it as $key => $value) {
var_dump($key, $value);
echo "\n";
}
Результатом выполнения данного примера будет что-то подобное:
string(18) "myIterator::rewind" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" int(0) string(12) "firstelement" string(16) "myIterator::next" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" int(1) string(13) "secondelement" string(16) "myIterator::next" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" int(2) string(11) "lastelement" string(16) "myIterator::next" string(17) "myIterator::valid"
Содержание
- Iterator::current — Возвращает текущий элемент
- Iterator::key — Возвращает ключ текущего элемента
- Iterator::next — Переходит к следующему элементу
- Iterator::rewind — Возвращает итератор на первый элемент
- Iterator::valid — Проверка корректности позиции
Описание класса iterator, примеры использования класса iterator.
Смотрите также:
Описание на ru2.php.net
Описание на php.ru