3.Iterator(迭代器)接口
2016-03-20 00:07
369 查看
<?php class myIterator implements Iterator { private $position = 0; private $array = array( 'first', 'second', 'last' ); public function __construct() { $this->position = 0; } //将数组索引置为0 public function rewind() { //第一步,开始迭代,先置0 $this->position = 0; } //对当前值进行验证 public function valid() { //第二步,判断是否有这个值 , 第七步,又开始验证,没有值的话,退出循环 return isset($this->array[$this->position]); } //返回当前值 public function current() { //第三步,有值后,返回这个值,第八步 return $this->array[$this->position]; } //返回当前索引值 public function key() { //第四步,返回这个值的键; 第九步 return $this->position; } //当前索引加1 public function next() { //第六步,开始循环下一个值,那么键++ ++$this->position; } } $it = new myIterator(); foreach ($it as $key => $value) { //这里是第五步,第十步 echo $key,'<br/>'; echo $value,'<br/>'; //die; }
相关文章推荐
- android学习笔记——全局获取Context的技巧
- 【原创】初识懒人开发库---ButterKnife
- HQ-SSAO (High-Quality SSAO)
- MyBatis架构图
- JS实现-DIV自动居中代码
- 工具效率-使用Windows计划任务更新SVN
- 差分和单端接法
- android学习笔记——Localtion服务之LocationManager
- 错误票据
- linux 搜索命令
- 关于浏览器兼容问题
- android学习笔记——Intent的解析(Intent的隐式调用)
- 结合Scikit-learn介绍几种常用的特征选择方法
- Hibernate逍遥游记-第5章映射一对多-02双向(<set>、<key>、<one-to-many>、inverse、cascade="all-delete-orphan")
- Node.js链式回调
- NuttX_编译系统分析
- prel 多行注释
- android学习笔记——回调机制
- 大家一起和snailren学java-(一)对象导论
- 7-11-最短路径算法-图-第7章-《数据结构》课本源码-严蔚敏吴伟民版