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=]
我在一个文件夹中有几个文件,我想统计它们。
$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=]