PHP的Iterator接口用法是什么,方法列表有哪些?
Admin 2022-10-11 群英技术资讯 439 次浏览
可在内部迭代自己的外部迭代器或类的接口。
Iterator extends Traversable { /* 方法 */ abstract public mixed current ( void ) abstract public scalar key ( void ) abstract public void next ( void ) abstract public void rewind ( void ) abstract public boolean valid ( void ) }
PHP 已经提供了一些用于日常任务的迭代器,如SPL迭代器。
Example #1 基本用法
这个例子展示了使用 foreach 时,迭代器方法的调用顺序。
<?php class myIterator implements Iterator { private $position = 0; private $array = array( "firstelement", "secondelement", "lastelement", ); public function __construct() { $this->position = 0; } function rewind() { var_dump(__METHOD__); $this->position = 0; } function current() { var_dump(__METHOD__); return $this->array[$this->position]; } function key() { var_dump(__METHOD__); return $this->position; } function next() { var_dump(__METHOD__); ++$this->position; } function valid() { var_dump(__METHOD__); return isset($this->array[$this->position]); } } $it = new myIterator; foreach($it as $key => $value) { var_dump($key, $value); echo "\n"; } ?>
以上例程的输出类似于:
string(18) "myIterator::rewind" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" int(0) string(12) "firstelement" string(16) "myIterator::next" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" int(1) string(13) "secondelement" string(16) "myIterator::next" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" int(2) string(11) "lastelement" string(16) "myIterator::next" string(17) "myIterator::valid"
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php中this和self的区别是什么?一些新手学习PHP,对于this和self的区别不是很清楚,对此,文本就给大家介绍一下两者的区别,下面有示例介绍,大家可以对比看看。
对于反射,很多人可能会想到膝跳反射。其实在编程语言中也有反射,这篇文章就给大家介绍简单的介绍一下PHP的反射机制,带大家回顾一下反射的基础知识。
本篇文章带大家带大家了解一下PHP7.X各版本(7.0、7.1、7.2、7.3、7.4)的新特性,有需要的可以看看,希望对大家有所帮助!
php传值和引用的区别是什么?一些朋友对于这个问题不是很了解,下面小编就给大家简单的介绍一下关于php传值和传引用的区别,感兴趣的朋友就继续往下看吧。
今天小编就为大家分享一篇ThinkPHP 5.1 跨域配置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008