函数名:DirectoryIterator::valid()
用途:该函数用于检查迭代器是否仍然有效,即当前迭代器位置是否仍然有效指向一个有效的目录项。
语法:bool DirectoryIterator::valid ( void )
参数:该函数没有参数。
返回值:如果当前迭代器位置有效,则返回 true;否则返回 false。
示例:
// 创建一个目录迭代器
$iterator = new DirectoryIterator('/path/to/directory');
// 循环遍历目录中的所有文件和子目录
foreach ($iterator as $file) {
// 检查当前迭代器位置是否有效
if ($iterator->valid()) {
// 打印文件名
echo $file->getFilename() . "<br>";
}
}
说明: 该示例展示了如何创建一个目录迭代器,然后通过 foreach 循环遍历目录中的所有文件和子目录。在循环过程中,我们使用 valid() 函数来检查当前迭代器位置是否仍然有效,只有在有效时,我们才输出文件或子目录的名称。
注意:
- 在使用迭代器遍历目录时,经常使用 valid() 函数来确保当前位置有效,避免在无效的位置上进行操作。
- 使用 valid() 函数之前必须确保迭代器已经被调用过 rewind() 方法来初始化。