php 实现Iterator 接口
<?php
class MyIterator implements Iterator{
private $var = array();
public function __construct($array){
if(is_array($array)){
$this->var = $array;
}
}
public function rewind(){
echo "reminding<br>";
reset($this->var);
}
public function current(){
$var = current($this->var);
echo "current :$var<br>";
return $var;
}
public function key(){
$var = key($this->var);
echo "key::$var<br>";
return $var;
}
public function next(){
$var = next($this->var);
echo "next:$var<br>";
return $var;
}
public function valid(){
$var = $this->current() !== false;
echo "valid:{$var}<br>";
return $var;
}
}
$value = array(1,2,3);
$it = new MyIterator($value);
foreach($it as $a=> $b){
print "$a:$b<br>";
}
<?php
class MyIterator implements Iterator{
private $var = array();
public function __construct($array){
if(is_array($array)){
$this->var = $array;
}
}
public function rewind(){
echo "reminding<br>";
reset($this->var);
}
public function current(){
$var = current($this->var);
echo "current :$var<br>";
return $var;
}
public function key(){
$var = key($this->var);
echo "key::$var<br>";
return $var;
}
public function next(){
$var = next($this->var);
echo "next:$var<br>";
return $var;
}
public function valid(){
$var = $this->current() !== false;
echo "valid:{$var}<br>";
return $var;
}
}
$value = array(1,2,3);
$it = new MyIterator($value);
foreach($it as $a=> $b){
print "$a:$b<br>";
}
?>
?>
最新文章
- ajax 同步和异步
- MIT 6.828 JOS学习笔记10. Lab 1 Part 3: The kernel
- Webservice接口
- JQuery Pagenation 知识点整理——$.extend(),与$.fn.extend()应用(20150517)
- 函数lock_rec_add_to_queue
- 开发反模式 - SQL注入
- mongoDB6--查询表达式
- Xftp连接阿里云Linux,向Linux上传文件,Windows和Linux文件传输
- IntelliJ IDEA 实用快捷键
- Isight 命令行运行任务
- [转帖]Windows 内核说明
- Linux+Redis实战教程_day01_Linux系统上安装tomcat
- HOJ-1005 Fast Food(动态规划)
- CentOS7 yum方式安装 MongoDB 3.4 复制集
- 【日常训练】Hockey(CodeForces-96C)
- OGG_GoldenGate数据表定义方式DEFGEN(案例)
- php 计算两个日期相差天数
- ubuntu命令行添加拥有管理员权限新用户
- 思梦PHP-阿里大鱼手机验证码
- ORACLE时间函数(SYSDATE)简析