文档章节

php迭代器举例

朱方圆
 朱方圆
发布于 2016/07/24 23:47
字数 142
阅读 11
收藏 0

Iterator 接口 一共有5个方法  rewind ,key ,current,valid,next

 

生成器的迭代器的区别  生成器只能迭代一次,而迭代器可以迭代很多次

 

一个迭代器的例子

 

class LineIterator implements Iterator{

private $pointer=0;
private $line=false;
private $fileHander=null;

public function __construct($fileName){

$this->fileHander=@fopen($fileName,'r');

}
public function key(){

return $this->pointer;
}
public function rewind(){
fseek($this->fileHander,0);

if(false!==$this->$line=fgets($this->fileHander))
{
$this->pointer=0;
}
}
public function current(){
return $this->line;
}
public function valid(){
return $this->line===false;
}
public function next(){
if(false!==$this->line=fgets($this->fileHander)){
$this->pointer++;
}
}

public function __deconstruct(){
@fclose($this->$fileHander);
}
}

 

© 著作权归作者所有

朱方圆
粉丝 2
博文 24
码字总数 20023
作品 0
南京
私信 提问
装饰器、生成器、迭代器、及python中内置函数的使用

装饰器、生成器、迭代器、及python中内置函数的使用 一、 装饰器 1、 装饰器的概述 (1)概述:装饰器本质就是函数,主要用来装饰其他函数,为其他函数添加附加功能。 (2)使用装饰器的原则...

Dayi_123
2017/04/23
0
0
Python中的迭代器与生成器

container.iter() 和 iterator.next() 迭代器就是一个有 next() 方法的对象。当需要下一个数据时,调用它的 next() 方法就可以获得。在Python2中,这个方法被命名为 next() 。但在Python3中新...

lionets
2013/11/21
0
0
STL入门导论[原+译]

STL入门引导 涉及到的源码:http://download.csdn.net/detail/nuptboyzhb/4239649 STL主要有以下六个大的部分: l 迭代器(iterators) 迭代器可以理解为一个模板指针;迭代器技术能够使程序...

长平狐
2012/10/08
123
0
c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例

c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器。set/multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。 1) 不能直接改变...

云栖希望。
2017/12/04
0
0
[Java 并发编程实战] 同步容器类潜在的问题(含实例代码)

路漫漫其修远兮,吾将上下而求索。———屈原《离骚》 本篇文章主要讲同步容器类存在的潜在问题以及解决办法。我们不禁想问,同步容器就一定是真正地完全线程安全吗?不一定。因为它可能会抛...

seaicelin
2018/05/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C# 视频多人脸识别的实现过程

整个项目是用虹软技术完成开发 上一篇内容的调整,提交到git了,https://github.com/catzhou2002/ArcFaceDemo 基本思路如下: 一、识别线程 1.获取当前图片 2.识别当前图片的人脸位置,并将结...

是哇兴哥棒棒哒
7分钟前
0
0
Spring Cloud Eureka 你还在让它裸奔吗??

前些天栈长在微信公众号Java技术栈分享了 Spring Cloud Eureka 最新版 实现注册中心的实战教程:Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!,成功进入 Eureka 控制台页面。 ...

Java技术栈
23分钟前
1
0
linux gyp ERR! stack Error: EACCES: permission denied, mkdir ‘xxx’

在使用linux npm install的出现这个错误了,百度了下,没有权限加个参数即可 npm install --unsafe-perm

朝如青丝暮成雪
24分钟前
0
0
使用kubeadm 搭建K8s集群

1. 参考官网 https://kubernetes.io/docs/setup/independent/install-kubeadm/

whhbb
52分钟前
2
0
Dubbo 3.0 !提升不止一点点!

Dubbo 自 2011 年 10 月 27 日开源后,已被许多非阿里系的公司使用,其中既有当当网、网易考拉等互联网公司,也不乏中国人寿、青岛海尔等大型传统企业。 自去年 12 月开始,Dubbo 3.0 便已正...

编程SHA
53分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部