怎么理解php包装迭代器

  介绍

本篇内容介绍了“怎么理解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:有效的

怎么理解php包装迭代器