博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实现Iterator接口
阅读量:6216 次
发布时间:2019-06-21

本文共 989 字,大约阅读时间需要 3 分钟。

php实现Iterator接口 对手册中的案例进行分析

class myIterator implements Iterator {
private $position = 0;
private $array = array(
"firstelement",//7、遍历第一个元素
"secondelement",
"lastelement",
);
public function __construct() {
//2、实例化时自动调用构造方法
  $this->position = 0;//给position赋值为0
}
function rewind() {//3、遍历对象之前 先重置指针
var_dump(__METHOD__);
$this->position = 0;//将position属性设置为0
}
function current() {
//5、获取当前指针
  var_dump(__METHOD__);
  return $this->array[$this->position];//设置当前的指针指向firstelement
}
function key() {
//6、获取当前的键值
  var_dump(__METHOD__);
  return $this->position;//返回当前键的值 为0
}
function next() {
//8、指针下移
  var_dump(__METHOD__);
  ++$this->position;//position+1
}
function valid() {//4、判断指针是否合法
  var_dump(__METHOD__);
  return isset($this->array[$this->position]);//判断array数组的指针是否合法 返回bool
}
}
$it = new myIterator;//1、实例化 myIterator类
foreach($it as $key => $value) {//遍历该对象
var_dump($key, $value);//
echo "\n";
}
 
1->2->3->4->5->6->7->8->4

转载于:https://www.cnblogs.com/badake/p/8524928.html

你可能感兴趣的文章
清除默认共享文件夹账号密码
查看>>
Python3学习笔记——数据类型和变量
查看>>
Intel 11代全新核显出现了!好强 好乱
查看>>
Windows Server 2012四个版本的异同
查看>>
新的开始
查看>>
如何实现报表设计中的高精度报表套打?
查看>>
敏捷软件开发实践-Sprint Story Point Estimation
查看>>
相关论文汇总
查看>>
fiddler测试弹窗报错:creation of the root certificate was not successful
查看>>
Sass--嵌套、变量、运算
查看>>
Quill.js 富文本编辑器插件使用
查看>>
css改变滚动条的样式:
查看>>
匿名函数_ 生成器
查看>>
开发一个自己的 CSS 框架(一)
查看>>
Java如何把链接中的参数在页面使用参数名字获取ModelMap model去页面显示或者处理...
查看>>
从数据库(oracle)里把数据导出(excel)
查看>>
多进程,守护进程,锁
查看>>
Android-布局管理-表格布局
查看>>
exe4j生成exe后执行报错
查看>>
Python复习
查看>>