PHP标准库(SPL)学习之OuterIterator Interface

发布于 2017-03-06 02:57:02 阅读 304

自定义或修改迭代过程(比如修改迭代器中的返回值)。

<?php
namespace SPL\SPLInterface;

class MyOuterIterator extends \IteratorIterator {
    public function current()
    {
        return parent::current().'_tail'; // TODO: Change the autogenerated stub
    }

    public function key()
    {
        return 'pre_'.parent::key(); // TODO: Change the autogenerated stub
    }
}
$array = ['1111', '2222', '3333'];
$outer = new MyOuterIterator(new \ArrayIterator($array));
foreach ($outer as $k => $v)
{
    var_dump($k, $v);
    echo PHP_EOL;
}