php - 循环之间的睡眠功能在任何循环执行之前运行
问题描述
我试图让脚本在继续执行之前等待 3 秒。问题是 sleep 函数首先运行并休眠 3 秒,然后两个循环都运行。
if ($resultCheck > 0) {
while ($row = mysqli_fetch_all($result)) {
for ($i=0; $i < 3; $i++) {
echo $row[$i][0];
}
sleep(3);
$values = sizeof($row);
for ($i=3; $i < $values; $i++) {
echo $row[$i][0];
}
}
}
解决方案
在每个 echo 之后添加这一行:flush(); . 它将导致立即显示输出。
您的代码是正确的,但脚本结束后会显示输出。要立即显示输出,需要使用flush()函数刷新输出缓冲区。
换行:
echo $row[$i][0];
和
echo $row[$i][0];
flush();
可能有更多的输出缓冲层导致输出延迟。请参阅如何在 PHP 中禁用输出缓冲。如果刷新不起作用,您可以将ob_flush与刷新一起使用。