查詢

Iterator::next()函式—用法及示例

「 向前移動迭代器的內部指標 」


函式名稱:Iterator::next()

適用版本:所有 PHP 版本

用法:Iterator::next() 方法用於向前移動迭代器的內部指標。

語法:bool Iterator::next ( void )

引數:該函式沒有引數。

返回值:如果成功移動了迭代器的指標,則返回 true。如果沒有更多的元素可迭代,或者移動指標失敗,則返回 false。

示例:

class MyIterator implements Iterator {
    private $position = 0;
    private $array = array(
        "firstElement",
        "secondElement",
        "thirdElement"
    );

    public function rewind() {
        $this->position = 0;
    }

    public function current() {
        return $this->array[$this->position];
    }

    public function key() {
        return $this->position;
    }

    public function next() {
        ++$this->position;
    }

    public function valid() {
        return isset($this->array[$this->position]);
    }
}

$it = new MyIterator;

$it->rewind(); // 將指標設定為第一個元素之前的位置

while ($it->valid()) {
    echo $it->current() . "\n";
    $it->next(); // 移動指標到下一個元素
}

輸出結果:

firstElement
secondElement
thirdElement

上述示例中,我們定義了一個名為 MyIterator 的類,實現了 Iterator 介面,其中包含了必須的方法。在迭代過程中,我們透過呼叫 next() 方法將指標移動到下一個元素,並透過呼叫 current() 方法獲取當前元素的值進行輸出。

需要注意的是,next() 方法僅移動了指標而不返回任何值,因此在迴圈中需要呼叫 current() 方法來獲取當前元素的值。另外,我們還實現了 rewind() 方法來將指標重置為第一個元素之前的位置,以確保每次迭代都從第一個元素開始。

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