PHP的Iterator接口用法指什么,方法列表有哪些?
发布时间:2023-06-06 13:34:59 所属栏目:PHP教程 来源:
导读:这篇文章给大家介绍了“PHP的Iterator接口用法是什么,方法列表有哪些?”的相关知识,讲解详细,步骤过程清晰,有一定的借鉴学习价值,因此分享给大家做个参考,感兴趣的朋友接下来一起跟随小编看看吧。
这篇文章给大家介绍了“PHP的Iterator接口用法是什么,方法列表有哪些?”的相关知识,讲解详细,步骤过程清晰,有一定的借鉴学习价值,因此分享给大家做个参考,感兴趣的朋友接下来一起跟随小编看看吧。 可在内部迭代自己的外部迭代器或类的接口。 接口摘要 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" 方法列表 Iterator::current — 返回当前元素 Iterator::key — 返回当前元素的键 Iterator::next — 向前移动到下一个元素 Iterator::rewind — 返回到迭代器的第一个元素 Iterator::valid — 检查当前位置是否有效 (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐