函式名稱: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",分別表示陣列中的三個元素。