函数名称:IteratorIterator::valid()
函数描述:该函数用于检查迭代器中的当前位置是否有效。
适用版本:该函数在PHP 5及以上版本中可用。
语法:public IteratorIterator::valid ( void ) : bool
参数:该函数不接受任何参数。
返回值:如果当前位置有效,则返回true;否则返回false。
示例:
// 创建一个数组迭代器
$array = new ArrayIterator([1, 2, 3]);
// 创建一个迭代器迭代器
$iterator = new IteratorIterator($array);
// 打印迭代器中的每个元素
foreach ($iterator as $key => $value) {
echo "$key: $value\n";
var_dump($iterator->valid());
}
/*
输出结果:
0: 1
bool(true)
1: 2
bool(true)
2: 3
bool(true)
bool(false)
*/
在上面的示例中,我们首先创建了一个包含数字的数组迭代器。然后,我们创建了一个迭代器迭代器,将数组迭代器作为参数传递给它。接下来,我们使用foreach循环遍历迭代器迭代器,并在每次循环中打印当前元素的键和值。在每个循环迭代中,我们还使用valid()函数检查当前位置是否有效,并打印结果。最后一个循环迭代之后,valid()函数返回false,表示当前位置无效。