如果想对迭代器进行一定的处理之后再返回,可以用这个接口。
说明:IteratorIterator类是OuterIterator接口的实现,扩展的时候可以直接继承类IteratorIterator.
<?php
$arr=array("a","b","c");
//继承IteratorIterator类
class OuterImpl extends IteratorIterator{
//对值进行处理
public function current(){
return parent::current()."test";
}
//对键进行处理
public function key(){
return "Pre_".parent::key();
}
}
$outObj=new OuterImpl(new ArrayIterator($arr));
foreach ($outObj as $k=>$v){
echo $k."=>".$v."<br>";
}
//output
//Pre_0=>atest
//Pre_1=>btest
//Pre_2=>ctest