說明
1.實作其他迭代器功能的接口,相當於在其他迭代器上安裝一個外殼,只有一種方法。
2.聚合迭代器可以與許多迭代器結合,實現更有效率的迭代。
實例
class MainIterator implements Iterator { private $var = array(); public function __construct($array) //建構子, 初始化物件陣列 { if (is_array($array)) { $this->var = $array; } } public function rewind() { echo "rewindingn"; reset($this->var); //將陣列的內部指標指向第一個單元 } public function current() { $var = current($this->var); // 傳回陣列中的目前值 echo "current: $varn"; return $var; } public function key() { $var = key($this->var); //傳回陣列中內部指標所指向的目前單元的鍵名 echo "key: $varn"; return $var; } public function next() { $var = next($this->var); //傳回陣列內部指標所指向的下一個單元的值 echo "next: $varn"; return $var; } public function valid() { return !is_null(key($this->var); //判斷目前單元的鍵是否為空 } }
以上就是php聚合式迭代器的介紹,希望對大家有幫助。