爱程序网

php迭代器

来源: 阅读:

implements Iterator , 实现Iterator 的 current(); next(); key(); valid(); rewind();

 1 <?php 2 /* 3  *先定义一个数组 4  *定义第一个位置 $position = 0 5  *然后返回key 和value, 6  *指向下一个位置 ++$position 7  */   8 class myIterator implements Iterator{ 9         //先定义一个位置10         private $position  = 0;11         private $array;12 13         public function __construct(array $array){14             $this->array = $array;15         }16         /**17          * 倒带第一个元素的迭代器18          * @return void 任何返回值将被忽略.19          */20         public function rewind(){21             var_dump(__METHOD__);22             $this->position = 0;23         }24         /**25          * 检查当前位置是有效的26          * @return boolean 返回值将bool型布尔,然后评估27          */28         public function valid(){29             var_dump(__METHOD__);30             //判断数组第一个元素是否存在31             return isset($this->array[$this->position]);32         }33         /**34          * 返回当前元素35          * @return mixed 可以返回任何类型。36          */37         public function current(){38             var_dump(__METHOD__);39             //返回数组的第一个元素40             return $this->array[$this->position];41         }42         /**43          * 返回当前元素的关键44          * @return mixed 标量成功,或null失败45          */46         public function key(){47             var_dump(__METHOD__);48             //返回数组第一个元素的key49             return $this->position;50         }51         /**52          * 前进到下一个元素53          * @return void 任何返回值将被忽略。54          */55         public function next(){56             var_dump(__METHOD__);57             ++ $this->position;58         }59     }60 61 $array=[62         "firstelement",63         "secondeleent",64         "lastelement"65     ];66 67 $it = new myIterator($array);68 foreach ($it as $key=>$value) {69     echo $key.' => '.$value;70     echo "<br>";71 } 

 

执行结果:

Tags:php迭代器
相关文章列表:
关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助