InternalIterator::valid()

检查迭代器中的当前位置是否有效

首字母:I

函数名称: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 对象,输出了每个元素的键和值。

同首字母函数