查询

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函数
分享链接