473
说明
1、实现其他迭代器功能的接口,相当于在其他迭代器上安装一个外壳,只有一种方法。
2、聚合迭代器可以与许多迭代器结合,实现更高效的迭代。
实例
classMainIteratorimplementsIterator { private$var=array(); publicfunction__construct($array)//构造函数,初始化对象数组 { if(is_array($array)){ $this->var=$array; publicfunctionrewind(){ echo"rewinding\n"; reset($this->var);//将数组的内部指针指向第一个单元 publicfunctioncurrent(){ $var=current($this->var);//返回数组中的当前值 echo"current:$var\n"; return$var; publicfunctionkey(){ $var=key($this->var);//返回数组中内部指针指向的当前单元的键名 echo"key:$var\n"; return$var; publicfunctionnext(){ $var=next($this->var);//返回数组内部指针指向的下一个单元的值 echo"next:$var\n"; return$var; publicfunctionvalid(){ return!is_null(key($this->var);//判断当前单元的键是否为空