函数名称:IteratorAggregate::getIterator()
适用版本:PHP 5, PHP 7
函数描述:该函数返回一个实现了迭代器接口的对象,用于遍历实现了IteratorAggregate接口的对象。
用法示例:
class MyIteratorAggregate implements IteratorAggregate {
private $data = array();
public function __construct() {
$this->data = array('apple', 'banana', 'cherry');
}
public function getIterator() {
return new ArrayIterator($this->data);
}
}
$myIteratorAggregate = new MyIteratorAggregate();
foreach ($myIteratorAggregate as $item) {
echo $item . "\n";
}
输出结果:
apple
banana
cherry
解释:
首先,我们创建了一个实现了IteratorAggregate接口的类MyIteratorAggregate,并在构造函数中初始化了一个包含三个元素的数组。
在getIterator()方法中,我们实例化了一个ArrayIterator对象,并将数据数组传递给它。然后,我们返回这个ArrayIterator对象。
在主程序中,我们实例化了MyIteratorAggregate对象,并使用foreach循环遍历该对象。在每次迭代中,会自动调用MyIteratorAggregate对象的getIterator()方法来获取一个迭代器对象。然后,我们可以通过迭代器对象访问数组中的每个元素,并将其打印出来。
在上述示例中,输出结果为"apple"、"banana"和"cherry",分别表示数组中的三个元素。