php使用Iterator接口,逐行遍历文件
来源:互联网 发布:网络公开课网站 编辑:程序博客网 时间:2024/04/28 21:33
定义接口Iterator如下所示
interface Iterator
{
public function rewind(); //将迭代器倒回到第一个元素
public function next(); //向前移到下一个元素
public function key(); //返回当前元素值
public function current();//返回当前的元素
public function valid(); //检查当前元素是否有效
}
实现接口Iterator的任何类都可以在for循环使用,他们的对象被成为迭代器
<!DOCTYPE html> <html> <head> <title>使用Iterator接口,逐行遍历文件</title> <meta charset="utf-8"> </head> <body> <p>使用Iterator接口,逐行遍历文件</p> <?php class file_iter implements iterator{private $fp;private $index = 0;private $line;function __construct($name){$fp = fopen($name, "r");if(!$fp){die("Cannot open $name for reading");}$this->fp = $fp;$this->line = rtrim(fgets($this->fp), "\n");}function rewind(){$this->index = 0;rewind($this->fp);$this->line = rtrim(fgets($this->fp), "\n");}function current(){return ($this->line);}function key(){return ($this->index);}function next(){$this->index++;$this->line = rtrim(fgets($this->fp), "\n");if(!feof($this->fp)){return ($this->line);}else{return (NULL);}}function valid(){return (feof($this->fp) ? FALSE : TRUE);}}$x = new file_iter("words/english-words.10");foreach($x as $lineno => $val){print "$lineno: $val <br />";}?> </body> </html>
0 0
- php使用Iterator接口,逐行遍历文件
- PHP遍历接口Iterator详解
- PHP-Iterator迭代器(遍历)接口详讲
- php逐行读取文件数据
- PHP逐行读取txt文件
- php Iterator 接口详解
- PHP - Iterator接口详解
- php Iterator 接口详解
- 用iterator接口遍历collection
- 使用setitimer逐行打印文件
- 使用Iterator遍历hashmap
- php中的iterator迭代器(遍历)
- php 5 Iterator 内部接口
- PHP - Iterator接口的解释
- PHP:迭代器(Iterator)接口实现
- PHP Iterator(迭代器)接口
- PHP - Iterator接口的解释
- 集合的遍历:Iterator接口、foreach
- 计算机算法设计与分析(1)--算法概述
- Blown Garland_Codeforces
- 【2.1】Python基础——数据类型
- 设计模式之命令模式
- LeetCode_389-Find the Difference
- php使用Iterator接口,逐行遍历文件
- Java语言中==和equals的区别详解
- 正方形共享存储器
- Gotta Catch Em' All!_Codeforces
- 1120. Friend Numbers
- C语言中如何添加背景音乐
- 删除了目录卸载或安装出现Invalid drive错误
- pom.xml详解
- C++Primer第五版 第十二章习题答案(21~30)