您好,欢迎访问一九零五行业门户网

php中的设计模式之迭代器模式

myiterator = $iterator; $this->position = 0 ; } // 获取当前 function current() { return $this->myiterator[$this->position]; } // 下个index function next(){ ++$this->position ; } //获得key(下标) function key(){ return $this->position; } function value(){ return $this->myiterator[$this->position]; } // 重新遍历 function rewind() { $this->position = 0; } function valid(){ return isset($this->myiterator[$this->position]); } }// 应用 /*$adata = array('a','b','c');$myiterator = new myiterator($adata); while($myiterator->valid()){ $myiterator->next();}*/// (2)搭建自己的容器 interface container { public function getiterator();}class mycontainer implements container{ private $iterator ; public function __construct($data){ $this->iterator = new myiterator($data) ; } public function getiterator(){ return $this->iterator; } }// 应用实例$data = array('a','b','c');$mycontainer = new mycontainer($data) ;// 获得迭代器$myiterator = $mycontainer->getiterator();while($myiterator->valid()){ var_dump($myiterator->current()); $myiterator->next();}
其它类似信息

推荐信息