Manuel PHP
The Iterator interface
Introduction
Interface for external iterators or objects that can be iterated themselves internally.
Synopsis de la classe
Exemple #1 Basic usage
This example demonstrates in which order methods are called when foreach()ing over an iterator.
- <?php
- 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";
- }
- ?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
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"
Sommaire
- Iterator::current — Return the current element.
- Iterator::key — Return the key of the current element.
- Iterator::next — Move forward to next element.
- Iterator::rewind — Rewind the Iterator to the first element.
- Iterator::valid — Checks if current position is valid.
Remonter 
