sizeof 的错误结果

Wrong result of sizeof

我在一个文件夹中有几个文件,我想统计它们。

$folder = "images";
$allPics = scandir($folder);
$result = sizeof($allPics);
echo $result;

结果是 350,但应该是 348。我不明白为什么显示结果 +2?

我是不是漏掉了什么?!

http://php.net/manual/en/function.scandir.php

查看文档时,您可以看到函数 return 两者都是 '.'和'..',这就是为什么你比你应该拥有的多2个。

你可以使用这个:

array_diff(scandir($folder), array('..', '.'));

去掉你不想拥有的点。

你使用的是unix系统,它在每个目录中有2个指针,通常用..表示的父目录的指针和用[=]表示的当前目录的指针11=]