如何显示目录中的随机文件?下面的代码只显示随机1文件,输出应该是10个文件。
<?php
$path = "/files";
$files = scandir($path);
shuffle($files);
for($i = 0; ($i < count($files)) && (!is_file($files[$i])); $i++);
echo $files[$i];
?>
答案 0 :(得分:2)
for($i = 0; ($i < count($files)) && (!is_file($files[$i])); $i++);
^
将分号放在那里会终止for
循环语句,因此它实际上并没有做任何事情,只是循环直到条件为假。删除分号以修复。
作为更清晰的示例,请使用以下代码:
for($i = 0; $i < 5; $i++);
echo $i;
这将循环五次,因为for
循环体语句为空(由于语句终止符,分号)。因为缩进在PHP中并不重要,所以echo $i
只会在循环结束时回显一次$i == 5
。您可以更好地查看它,如下所示:
for($i = 0; $i < 5; $i++)
;
echo $i;