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