<?php
/**
* Created by PhpStorm.
* User: phptuku.com
* Date: 2017/10/29
*
* OuterIterator接口
* 如果想对迭代器进行一定得处理湖再返回,可以用这个接口
* IteratorIterator类是OuterIterator的实现,扩展得
* 时候,可以直接继承IteratorIterator
*/
date_default_timezone_set('PRC');
$array = ['Value1','Value2','Value3','Value4'];
$outerObj = new OuterImpl(new ArrayIterator($array));
foreach ($outerObj as $key => $value){
echo "++".$key.'-'.$value."\n";
}
class OuterImpl extends IteratorIterator
{
public function current()
{
return parent::current()."_tail";
}
public function key()
{
return "Pre_".parent::key();
}
}
1赞 · 1采集
Totn
2016-11-29
OuterIterator使用方式、
$it = new OutIter(new ArrayIterator([...]))
在OutIter内部重写key()与current()
0赞 · 0采集
Totn
2016-11-29
class IteratorIterator implements OuterIterator {
...
public function key()..
public function current() ..
}
扩展可以直接继承IteratorIterator
或自己实现OuterIterator