- PHP 手册
- 函数参考
- 其它基本扩展
- SPL
- 迭代器
- GlobIterator
GlobIterator::count
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
GlobIterator::count — Get the number of directories and files
说明
public GlobIterator::count(): intGets the number of directories and files found by the glob expression.
参数
此函数没有参数。
返回值
The number of returned directories and files, as an int.
范例
示例 #1 GlobIterator::count() example
<?php
$iterator = new GlobIterator('*.xml');
printf("Matched %d item(s)\r\n", $iterator->count());
?>
以上例程的输出类似于:
Matched 8 item(s)
参见
- GlobIterator::__construct() - Construct a directory using glob
- count() - 统计数组、Countable 对象中所有元素的数量
- glob() - 寻找与模式匹配的文件路径
User Contributed Notes 1 note
up down 1 TwystO ¶5 years ago
As stated here https://bugs.php.net/bug.php?id=55701 the count() method can lead to errors.
For example this won't works if no files are found in the target directory :
<?php
$iterator = new \GlobIterator($ftpDirectory . '/*.*', FilesystemIterator::KEY_AS_FILENAME);
if($iterator->count()) {
foreach($iterator as $filePath) {
// do some stuff ...
}
}
?>
A workaround to this bug could be :
<?php
foreach(new \GlobIterator($ftpDirectory . '/*.*', FilesystemIterator::KEY_AS_FILENAME) as $filePath) {
// do some stuff ...
}
?>
add a note
官方地址:https://www.php.net/manual/en/globiterator.count.php