php迭代器
程序员文章站
2024-02-14 23:25:10
...
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 "lastelement" 65 ]; 6667$it = new myIterator($array); 68foreach ($itas$key=>$value) { 69echo$key.' => '.$value; 70echo "
"; 71 }
执行结果:
以上就介绍了php迭代器,包括了Iterator,迭代器方面的内容,希望对PHP教程有兴趣的朋友有所帮助。