Traversable
Iterator::current
Vordefinierte Interfaces
PHP Manual

# Das Iterator-Interface

## Einführung

Interface für externe Iteratoren oder Objekte, die selbstiterierend sind.

## Interface-Übersicht

Iterator
Iterator extends Traversable {
/* Methoden */
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 )
}

Beispiel #2 Basisnutzung

Dieses Beispiel demonstriert, in welcher Reihenfolge Methoden aufgerufen werden, wenn Sie foreach auf einem Iterator anwenden.

`<?php
class meinIterator implements Iterator {
private $position = 0;
private $array = array(
"erstesElement",
"zweitesElement",
"letztesElement",
);
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 meinIterator;
foreach($it as $key => $value) {
var_dump($key, $value);
echo "\n";
}
?>`

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

    string(18) "meinIterator::rewind"
    string(17) "meinIterator::valid"
    string(19) "meinIterator::current"
    string(15) "meinIterator::key"
    int(0)
    string(12) "erstesElement"

    string(16) "meinIterator::next"
    string(17) "meinIterator::valid"
    string(19) "meinIterator::current"
    string(15) "meinIterator::key"
    int(1)
    string(13) "zweitesElement"

    string(16) "meinIterator::next"
    string(17) "meinIterator::valid"
    string(19) "meinIterator::current"
    string(15) "meinIterator::key"
    int(2)
    string(11) "letztesElement"

    string(16) "meinIterator::next"
    string(17) "meinIterator::valid"

## Inhaltsverzeichnis

- Iterator::current — Gibt das aktuelle Element zurück
- Iterator::key — Gibt den Schlüssel des aktuellen Elements zurück
- Iterator::next — Rückt den Zeiger auf das nächste Element vor
- Iterator::rewind — Setzt den Iterator auf das erste Element zurück
- Iterator::valid — Prüft, ob die aktuelle Position zulässig ist

Traversable
Iterator::current
Vordefinierte Interfaces
PHP Manual