位置: IT常识 - 正文
推荐整理分享php包装迭代器如何理解(php生成器和迭代器理解),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:迭代器代码,迭代器模式uml图,迭代器模式uml图,迭代器模式uml图,php迭代器模式,迭代封装,php迭代器模式,迭代封装,内容如对您有帮助,希望把文章链接给更多的朋友!
450
1、本身也是一个迭代器,当被实例化时,又需要被传递到另一个迭代器内部保存,即内部迭代InnerIterator。
2、可通过继承IteratorIterator实现对原有迭代器功能的升级。
其构造参数也必须是迭代器,而参数签名本身就是需要一个对象,实现了Traversable接口。
实例
classOutIteratorextendsIteratorIterator{publicfunctionrewind(){echo__METHOD__,PHP_EOL;returnparent::rewind();publicfunctionvalid(){echo__METHOD__,PHP_EOL;returnparent::valid();publicfunctioncurrent(){echo__METHOD__,PHP_EOL;returnparent::current().'_suffix';publicfunctionkey(){echo__METHOD__,PHP_EOL;returnparent::key();publicfunctionnext(){echo__METHOD__,PHP_EOL;returnparent::next();publicfunctiongetInnerIterator(){echo__METHOD__,PHP_EOL;returnparent::getInnerIterator();$iterator=newOutIterator(newArrayIterator([1,2,3]));foreach($iteratoras$k=>$v){echo$k,':',$v,PHP_EOL;//OutIterator::rewind//OutIterator::valid//OutIterator::current//OutIterator::key//0:1_suffix//OutIterator::next//OutIterator::valid//OutIterator::current//OutIterator::key//1:2_suffix//OutIterator::next//OutIterator::valid//OutIterator::current//OutIterator::key//2:3_suffix//OutIterator::next//OutIterator::valid上一篇:python缩进和空格的好处(python缩进有什么作用)
友情链接: 武汉网站建设