加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

了解OuterIterator接口PHP

发布时间:2020-12-13 16:49:50 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试在我的类上实现OuterIterator接口,但我不确定在方法getInnerIterator中使用什么.我知道它应该返回一个迭代器,但是我不知道在什么情况下它应该返回一个InnerIterator,尽管它已经拥有了Iterator接口的所有方法,那为什么它需要一个InnerIterator? 我
我正在尝试在我的类上实现OuterIterator接口,但我不确定在方法getInnerIterator中使用什么.我知道它应该返回一个迭代器,但是我不知道在什么情况下它应该返回一个InnerIterator,尽管它已经拥有了Iterator接口的所有方法,那为什么它需要一个InnerIterator?

我完全迷失了OuterIterator

class myouterIterator implements OuterIterator 
{
    /**
    * Returns the inner Iterator for the current entry
    */
    public $data = array(1,2,3,4,5,6,7,8,9,10);
    public $position = 0;
    public function getInnerIterator()
    {
        // What code should be place here
    }
    public function rewind()
    {
        $this->position = 0;
    }
    public function valid()
    {
        return isset($this->data[$this->position]);
    }
    public function key()
    {
        return $this->position;
    }
    public function current()
    {
        return $this->data[$this->position];
    }
    public function next()
    {
        ++$this->position;
    }
}   

$OuterIt = new myouterIterator();
foreach($OuterIt as $key => $value)
{
    echo $key,' ',$value,'<br>';

}

解决方法

你为什么要实现OuterIterator?它旨在“迭代迭代器”,但你的例子只是迭代标量值,为每个迭代器都有一个迭代器是没有意义的.

如果您想查看OuterIterator接口的实际示例,请查看AppendIterator,它连续迭代几个迭代器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读