本站资源全部免费,回复即可查看下载地址!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
implements Iterator , 实现Iterator 的 current(); next(); key(); valid(); rewind();[PHP] 纯文本查看 复制代码 <?php
/*
*先定义一个数组
*定义第一个位置 $position = 0
*然后返回key 和value,
*指向下一个位置 ++$position
*/
class myIterator implements Iterator{
//先定义一个位置
private $position = 0;
private $array;
public function __construct(array $array){
$this->array = $array;
}
/**
* 倒带第一个元素的迭代器
* @return void 任何返回值将被忽略.
*/
public function rewind(){
var_dump(__METHOD__);
$this->position = 0;
}
/**
* 检查当前位置是有效的
* @return boolean 返回值将bool型布尔,然后评估
*/
public function valid(){
var_dump(__METHOD__);
//判断数组第一个元素是否存在
return isset($this->array[$this->position]);
}
/**
* 返回当前元素
* @return mixed 可以返回任何类型。
*/
public function current(){
var_dump(__METHOD__);
//返回数组的第一个元素
return $this->array[$this->position];
}
/**
* 返回当前元素的关键
* @return mixed 标量成功,或null失败
*/
public function key(){
var_dump(__METHOD__);
//返回数组第一个元素的key
return $this->position;
}
/**
* 前进到下一个元素
* @return void 任何返回值将被忽略。
*/
public function next(){
var_dump(__METHOD__);
++ $this->position;
}
}
$array=[
"firstelement",
"secondeleent",
"lastelement"
];
$it = new myIterator($array);
foreach ($it as $key=>$value) {
echo $key.' => '.$value;
echo "<br>";
}
执行结果:
|