
Druckansicht von http://www.php-homepage.de/manual/language.oop5.iterations.php
ObjektiterationPHP 5 bietet eine Möglichkeit Objekte so zu definieren, dass es möglich ist eine Liste von Elementen zu durchlaufen, z.B. mit einem foreach-Statement. Standardmäßig werden alle sichtbaren Eigenschaften für die Iteration benutzt. Beispiel #1 Einfache Objektiteration
<?phpDas oben gezeigte Beispiel erzeugt folgende Ausgabe: var1 => Wert 1 var2 => Wert 2 var3 => Wert 3 MyClass::iterateVisible: var1 => Wert 1 var2 => Wert 2 var3 => Wert 3 protected => protected var private => private var Wie die Ausgabe zeigt, lief das foreach über alle sichtbaren Variablen, auf die zugegriffen werden kann. Um es einen Schritt weiter zu treiben, kann man eines der PHP 5 internen Interfaces, nämlich Iterator, implementieren. Das erlaubt dem Objekt zu entscheiden was und wie das Objekt iteriert wird. Beispiel #2 Objektiteration mit implementiertem Iterator
<?phpDas oben gezeigte Beispiel erzeugt folgende Ausgabe: zurückspulen aktuell: 1 gültig: 1 aktuell: 1 key: 0 0: 1 nächstes: 2 aktuell: 2 gültig: 1 aktuell: 2 key: 1 1: 2 nächstes: 3 aktuell: 3 gültig: 1 aktuell: 3 key: 2 2: 3 nächstes: aktuell: gültig: Man kann eine Klasse ebenfalls so definieren, dass diese nicht alle Funktionen von Iterator definieren muss, indem man einfach das PHP 5 IteratorAggregate Interface implementiert. Beispiel #3 Objektiteration mit implementiertem IteratorAggregate
<?phpDas oben gezeigte Beispiel erzeugt folgende Ausgabe: zurückspulen aktuell: Wert 1 gültig: 1 aktuell: Wert 1 key: 0 key/value: [0 -> Wert 1] nächstes: Wert 2 aktuell: Wert 2 gültig: 1 aktuell: Wert 2 key: 1 key/value: [1 -> Wert 2] nächstes: Wert 3 aktuell: Wert 3 gültig: 1 aktuell: Wert 3 key: 2 key/value: [2 -> Wert 3] nächstes: aktuell: gültig:
|