加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

使用 PHP 的 iterator 接口和它的方法和特性是什么

发布时间:2023-11-01 11:33:22 所属栏目:语言 来源:
导读:这篇文章给大家介绍了“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 — 检查当前位置是否有效

现在大家对于PHP的Iterator接口用法是什么,方法列表有哪些?的内容应该都有一定的认识了吧,希望这篇能对大家有所帮助。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章