1

http://php.net/manual/en/iteratoraggregate.getiterator.php

返回值 - “实现 Iterator 或 Traversable 的对象的实例”

1)那么返回的总是一个对象的实例,对吗?(我假设是的,但我想确定)。

通过这个网址: http: //php.net/manual/en/class.iteratoraggregate.php

IteratorAggregate 扩展了 Traversable。有人还告诉我,Iterator 也扩展了 Traversable。Traversable 更多的是内部事物(假设是用 CI 编写的),并且无法从 PHP 级别访问。

我熟悉的Iterator,就是当前,key,next,rewind,有效的“东西”。那么 getIterator 返回的内容可以实现这个,如果不是这个,它将 100% 地实现源自 Traversable 的东西?那么 Iterator 不会源自 Traversable 吗?

我的意思是,这个措辞是否正确,或者有什么我不明白的地方?

4

1 回答 1

0

扩展中的一些类只实现了 Traversable,没有实现 Iterator。

这些列表可以在这里找到: https ://github.com/hakre/Iterator-Garden/blob/master/TRAVERSABLES.md

代码示例(可遍历是,而不是迭代器): https ://eval.in/988102

于 2018-04-14T14:23:13.497 回答