请考虑以下代码:
$i = 1;
while ($i <= 100)
{
echo $i."<br>";
sleep(3);
$i++;
}
这里PHP一次打印所有数字。打印后为什么不停止1然后睡3秒然后打印下一个数字?有没有办法在特定时间后打印数字(在这种情况下为3秒)?
答案 0 :(得分:2)
您需要在每次迭代后刷新PHP的输出缓冲区,以获得您想要的结果。
尝试以下方法;
在睡眠电话上方添加flush();
。
如果这不起作用,请将ob_flush();
添加到同一flush();
之上
例如:
$i=1;
while($i > 0)
{
echo $i;
ob_flush();
flush();
sleep($delay);
$i--;
}
答案 1 :(得分:1)
此代码适用于您:
$i = 1;
while ($i <= 3)
{
flush();
echo $i."<br>";
sleep(3);
ob_flush();
$i++;
}