php聚合式迭代器的基础知识点及实例代码

在本篇文章里小编给大家整理的是一篇关于php聚合式迭代器的基础知识点及实例代码,有兴趣的朋友们可以学习参考下。

说明

1、实现其他迭代器功能的接口,相当于在其他迭代器上安装一个外壳,只有一种方法。

2、聚合迭代器可以与许多迭代器结合,实现更高效的迭代。

实例

 class MainIterator implements Iterator { private $var = array(); public function __construct($array)    //构造函数, 初始化对象数组 { if (is_array($array)) { $this->var = $array; } } public function rewind() { echo "rewinding\n"; reset($this->var);    //将数组的内部指针指向第一个单元 } public function current() { $var = current($this->var);    // 返回数组中的当前值 echo "current: $var\n"; return $var; } public function key() { $var = key($this->var);       //返回数组中内部指针指向的当前单元的键名 echo "key: $var\n"; return $var; } public function next() { $var = next($this->var);     //返回数组内部指针指向的下一个单元的值 echo "next: $var\n"; return $var; } public function valid() { return !is_null(key($this->var); //判断当前单元的键是否为空 } }

内容扩展:

 property4 = "last property"; } public function getIterator() { return new ArrayIterator($this); } } $obj = new myData; foreach($obj as $key => $value) { var_dump($key, $value); echo "\n"; } ?>

以上例程的输出类似于:

string(9) "property1"
string(19) "Public property one"

string(9) "property2"
string(19) "Public property two"

string(9) "property3"
string(21) "Public property three"

string(9) "property4"
string(13) "last property"

以上就是php聚合式迭代器的基础知识点及实例代码的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » PHP编程