Hier geht es um die integrierte Schnittstelle Iterator von PHP. PHP5 beginnt mit der Unterstützung der Schnittstelle und verfügt über eine integrierte Iterator-Schnittstelle Sie definieren eine Klasse und implementieren die Iterator-Schnittstelle, dann ist Ihr KlassenObjekt ZEND_ITER_OBJECT, andernfalls ist es ZEND_ITER_PLAIN_OBJECT.
Für die Klasse ZEND_ITER_PLAIN_OBJECT erhält foreach den Standardwert des Objekts über HASH_OF AttributArray und führen Sie dann foreach für das Array aus.
Für das Klassenobjekt ZEND_ITER_OBJECT wird foreach durch Aufrufen der vom Objekt implementierten Iterator-Schnittstellenfunktionen ausgeführt, also , hierfür können Sie bei schriftlichen Testfragen folgende Antworten geben:
<?php class sample implements Iterator { private $_items = array(1,2,3,4,5,6,7); public function __construct() { ;//void } public function rewind() { reset($this->_items); } public function current() { return current($this->_items); } public function key() { return key($this->_items); } public function next() { return next($this->_items); } public function valid() { return ( $this->current() !== false ); } } $sa = new sample(); foreach($sa as $key => $val){ print $key . "=>" .$val; } ?>
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Beispielcodes des Iterator-Musters der PHP-Klasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!