Heim > Backend-Entwicklung > PHP-Tutorial > php – Iterator-Schnittstelle

php – Iterator-Schnittstelle

伊谢尔伦
Freigeben: 2016-11-22 11:05:01
Original
1184 Leute haben es durchsucht

Schnittstellen, die intern über ihren eigenen externen Iterator oder ihre eigene Klasse iterieren können.

Schnittstellenzusammenfassung

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 )
}
Nach dem Login kopieren

Vordefinierte Iteratoren

PHP stellt bereits einige Iteratoren für tägliche Aufgaben bereit, beispielsweise SPL-Iteratoren.

Beispiel

Beispiel #1 Grundlegende Verwendung

Dieses Beispiel zeigt die Aufrufsequenz von Iteratormethoden bei Verwendung von foreach.

<?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";
    }
?>
Nach dem Login kopieren

Die Ausgabe der obigen Routine ähnelt:

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"
Nach dem Login kopieren

Methodenliste

Iterator::current – ​​Gibt das aktuelle Element zurück

Iterator: :key – Gibt den Schlüssel des aktuellen Elements zurück

Iterator::next – Vorwärts zum nächsten Element gehen

Iterator::rewind – Zurück zum ersten Element des Iterators

Iterator::valid — Überprüfen Sie, ob die aktuelle Position gültig ist


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage