查詢

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

「 檢查迭代器中的當前位置是否有效 」


函式名稱:Iterator::valid()

適用版本:PHP 5 >= 5.1.0, PHP 7

函式描述:該函式用於檢查迭代器中的當前位置是否有效。

用法:

bool Iterator::valid ( void )

引數: 該函式沒有任何引數。

返回值: 該函式返回一個布林值,如果當前位置有效則返回true,否則返回false。

示例:

class MyIterator implements Iterator {
    private $position = 0;
    private $array = array(
        "first element",
        "second element",
        "third element",
    );

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

    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;

foreach($it as $key => $value) {
    echo "$key: $value\n";
}

輸出結果:

0: first element
1: second element
2: third element

在示例中,我們建立了一個自定義迭代器類MyIterator,實現了Iterator介面的所有方法。在valid()方法中,我們使用isset()函式檢查當前位置是否在陣列範圍內。如果當前位置有效,valid()方法返回true,否則返回false。在foreach迴圈中,我們使用valid()方法來判斷迭代器是否還有有效的元素,如果有,則輸出鍵和值。

補充糾錯
熱門PHP函式
分享連結