函数名称:InternalIterator::valid()
函数描述:InternalIterator::valid() 方法用于检查迭代器中的当前位置是否有效。
用法:bool InternalIterator::valid ( void )
参数:此函数没有参数。
返回值:如果当前位置有效,则返回 true,否则返回 false。
示例:
class MyIterator implements InternalIterator {
private $position = 0;
private $data = array('apple', 'banana', 'cherry');
public function rewind() {
$this->position = 0;
}
public function current() {
return $this->data[$this->position];
}
public function key() {
return $this->position;
}
public function next() {
$this->position++;
}
public function valid() {
return isset($this->data[$this->position]);
}
}
$iterator = new MyIterator();
foreach ($iterator as $key => $value) {
echo "Key: $key, Value: $value\n";
}
// Output:
// Key: 0, Value: apple
// Key: 1, Value: banana
// Key: 2, Value: cherry
在上面的示例中,我们自定义了一个实现了 InternalIterator 接口的迭代器类 MyIterator。在 valid() 方法中,我们检查当前位置是否在数据数组中存在,如果存在则返回 true,否则返回 false。然后我们使用 foreach 循环遍历了 MyIterator 对象,输出了每个元素的键和值。