介绍
本篇内容介绍了“怎么理解php包装迭代器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
1,本身也是一个迭代器,当被实例化时,又需要被传递到另一个迭代器内部保存,即内部迭代InnerIterator。
2,可通过继承IteratorIterator实现对原有迭代器功能的升级。
其构造参数也必须是迭代器,而参数签名本身就是需要一个对象,实现了可反驳的接口。
<强>实例强>
class OutIterator extends IteratorIterator { ,,,public function 倒带() ,,,{ ,,,,,,,echo __METHOD__,, PHP_EOL; ,,,,,,,return 父:倒带(); ,,,} , ,,,public function 有效的() ,,,{ ,,,,,,,echo __METHOD__,, PHP_EOL; ,,,,,,,return 父:有效的(); ,,,} , ,,,public function 目前() ,,,{ ,,,,,,,echo __METHOD__,, PHP_EOL; ,,,,,,,return 父:当前的(),只& # 39;_suffix& # 39;; ,,,} , ,,,public function 关键() ,,,{ ,,,,,,,echo __METHOD__,, PHP_EOL; ,,,,,,,return 父:关键(); ,,,} , ,,,public function next () ,,,{ ,,,,,,,echo __METHOD__,, PHP_EOL; ,,,,,,,return 父:下一个(); ,,,} , ,,,public function getInnerIterator () ,,,{ ,,,,,,,echo __METHOD__,, PHP_EOL; ,,,,,,,return 父:getInnerIterator (); ,,,} } iterator 美元;=,new OutIterator (new ArrayIterator ([1, 2, 3])); foreach (iterator 美元;as k 美元;=祝辞,美元v), { ,,,echo $ k, & # 39;: & # 39;,, v,美元,PHP_EOL; }//OutIterator::倒带//OutIterator:有效//OutIterator:电流//OutIterator:关键//,0:1 _suffix//OutIterator:下一个//OutIterator:有效//OutIterator:电流//OutIterator:关键//,1:2 _suffix//OutIterator:下一个//OutIterator:有效//OutIterator:电流//OutIterator:关键//,2:3 _suffix//OutIterator:下一个//,OutIterator:有效的