<?php #迭代器原理演示class Myiterator implements iterator{#定义一个属性, the original record execution times private $pos; #定义要遍历的数组private $arr =array (' First_param ', ' secnod_param ', ' Third_param '); #定义构造函数public function __construct () {$this->pos = 0;} #定义指针置0 rewindpublic Function Rewind () {echo __method__, "<br/>"; $this->pos=0;} #定义valid method Public Function valid () {#判断是否可行echo __method__, "<br/>"; if (Isset ($this->arr[$this->pos]) { return Isset ($this->arr[$this->pos]);}} #获取当前的值 currentpublic function current () {echo __method__, "<br/>"; return $this->arr[$this->pos];} #获取当前的键值 keypublic Function key () {echo __method__, "<br/>"; return $this->pos;} #指针下移函数public function Next () {echo __method__, "<br/>"; + + $this->pos;}} #实例化对象 $test = new Myiterator (), #遍历对象foreach ($test as $key + = $val) {var_dump ($key, $val); Echo '
PHP Manual Learning iterator Iterator