Return 值的解释 IteratorAggregate::getIterator
Explanation of the Return Values of the IteratorAggregate::getIterator
http://php.net/manual/en/iteratoraggregate.getiterator.php
Return 值 - "An instance of an object implementing Iterator or Traversable"
1) 那么返回的总是一个对象的实例,对吗? (我假设是的,但我想确定一下)。
由此url:http://php.net/manual/en/class.iteratoraggregate.php
IteratorAggregate 扩展了 Traversable。有人还告诉我 Iterator 也扩展了 Traversable。 Traversable 更像是一个内部事物(我假设是用 C 编写的)并且无法从 PHP 级别访问它。
我熟悉的Iterator,就是current,key,next,rewind,valid"thing"。那么 getIterator returns 可以实现这个,如果不是这个,它将在 100% 的时间内实现源自 Traversable 的东西?那么 Iterator 不会源自 Traversable 吗?
我的意思是,这个措辞是否正确,还是有什么我不明白的地方?
扩展中的一些 类 只实现了 Traversable,没有实现 Iterator。
可在此处找到这些列表:
https://github.com/hakre/Iterator-Garden/blob/master/TRAVERSABLES.md
代码示例(Traversable 是的,而不是 Iterator):
https://eval.in/988102
http://php.net/manual/en/iteratoraggregate.getiterator.php
Return 值 - "An instance of an object implementing Iterator or Traversable"
1) 那么返回的总是一个对象的实例,对吗? (我假设是的,但我想确定一下)。
由此url:http://php.net/manual/en/class.iteratoraggregate.php
IteratorAggregate 扩展了 Traversable。有人还告诉我 Iterator 也扩展了 Traversable。 Traversable 更像是一个内部事物(我假设是用 C 编写的)并且无法从 PHP 级别访问它。
我熟悉的Iterator,就是current,key,next,rewind,valid"thing"。那么 getIterator returns 可以实现这个,如果不是这个,它将在 100% 的时间内实现源自 Traversable 的东西?那么 Iterator 不会源自 Traversable 吗?
我的意思是,这个措辞是否正确,还是有什么我不明白的地方?
扩展中的一些 类 只实现了 Traversable,没有实现 Iterator。
可在此处找到这些列表: https://github.com/hakre/Iterator-Garden/blob/master/TRAVERSABLES.md
代码示例(Traversable 是的,而不是 Iterator): https://eval.in/988102