implements iterator , 实现iterator 的 current(); next(); key(); valid(); rewind();
1 php 2/* 3 *先定义一个数组 4 *定义第一个位置 $position = 0 5 *然后返回key 和value, 6 *指向下一个位置 ++$position 7*/ 8class myiterator implements iterator{ 9//先定义一个位置10private$position = 0;11private$array;1213publicfunction __construct(array$array){14$this->array = $array;15 }16/**17 * 倒带第一个元素的迭代器18 * @return void 任何返回值将被忽略.19*/20publicfunctionrewind(){21var_dump(__method__);22$this->position = 0;23 }24/**25 * 检查当前位置是有效的26 * @return boolean 返回值将bool型布尔,然后评估27*/28publicfunction valid(){29var_dump(__method__);30//判断数组第一个元素是否存在31returnisset($this->array[$this->position]);32 }33/**34 * 返回当前元素35 * @return mixed 可以返回任何类型。36*/37publicfunctioncurrent(){38var_dump(__method__);39//返回数组的第一个元素40return$this->array[$this->position];41 }42/**43 * 返回当前元素的关键44 * @return mixed 标量成功,或null失败45*/46publicfunctionkey(){47var_dump(__method__);48//返回数组第一个元素的key49return$this->position;50 }51/**52 * 前进到下一个元素53 * @return void 任何返回值将被忽略。54*/55publicfunctionnext(){56var_dump(__method__);57 ++ $this->position;58 }59 }6061$array=[62 firstelement,63 secondeleent,64 lastelement65 ];6667$it = new myiterator($array);68foreach ($itas$key=>$value) {69echo$key.' => '.$value;70echo
;71 }
执行结果:
迭代器>
以上就介绍了php迭代器,包括了iterator,迭代器方面的内容,希望对php教程有兴趣的朋友有所帮助。