我试图通过这个官方页面上的示例来概述和理解 PHP 迭代器。有人可以向我解释吗?至于它的用途以及结果如何计算,如页面所示。
PHP 迭代器的链接:http: //php.net/manual/en/class.iterator.php
我试图通过这个官方页面上的示例来概述和理解 PHP 迭代器。有人可以向我解释吗?至于它的用途以及结果如何计算,如页面所示。
PHP 迭代器的链接:http: //php.net/manual/en/class.iterator.php
PHP 迭代器本质上是一个可搜索的对象。它的主要特性是它foreach
具有出色的色彩,并且表现得完全符合它的要求。而不是做类似的事情:
foreach (myFunction() as $v) {
doSomethingWith($v);
}
您可以创建一个迭代器(Seekable、Rewindable 等)来简化工作,并在其中绑定您可能想要的任何其他内容,让您只做一次工作。
创建一个 Iterator 对象并调用foreach ($object as $r)
执行以下操作(按顺序):
$object->rewind()
)$object->valid()
,如果需要,终止循环$object->current()
并使用$object->key()
and 移动到下一个对象$object->next()
非常简单的结构,只是因为它是一个 SPL 接口而令人期待。实际上,它的唯一目的是让您的对象通过foreach
. 不多也不少。您可以将它们用于各种各样的东西——我最近使用了一个来简化循环遍历从 IMAP 服务器产生的消息的过程(并确保我只进行了一次处理)。
PHP 中已经定义了一些迭代器——我最喜欢的是可能RecursiveDirectoryIterator
的,它极大地减轻了必须递归遍历目录的负担。
希望这有帮助。有任何问题,请随时评论,我会详细说明。