查詢

IteratorAggregate::getIterator()函式—用法及示例

「 返回一個實現了迭代器介面的物件,用於遍歷實現了IteratorAggregate介面的物件 」


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

補充糾錯
下一個函式: Iterator::valid()函式
熱門PHP函式
分享連結