2024 年日本 PHP 研討會

GlobIterator::count

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

GlobIterator::count取得目錄和檔案的數量

說明

public GlobIterator::count(): int

取得 glob 運算式找到的目錄和檔案數量。

參數

此函式沒有參數。

傳回值

回傳目錄和檔案的數量,以 int 型別表示。

範例

範例 #1 GlobIterator::count() 範例

<?php
$iterator
= new GlobIterator('*.xml');

printf("找到 %d 個項目\r\n", $iterator->count());
?>

上述範例會輸出類似以下的結果:

Matched 8 item(s)

參見

新增註記

使用者貢獻的註記 1 則註記

0
TwystO
8 年前
https://bugs.php.net/bug.php?id=55701 所述,count() 方法可能會導致錯誤。

例如,如果在目標目錄中找不到任何檔案,則以下程式碼將無法正常運作:

<?php
$iterator
= new \GlobIterator($ftpDirectory . '/*.*', FilesystemIterator::KEY_AS_FILENAME);

if(
$iterator->count()) {
foreach(
$iterator as $filePath) {
// 做一些事情 ...
}
}
?>

此錯誤的解決方法如下:

<?php
foreach(new \GlobIterator($ftpDirectory . '/*.*', FilesystemIterator::KEY_AS_FILENAME) as $filePath) {
// 做一些事情 ...
}
?>
To Top