您的位置:首页 > 其它

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: