考虑以下代码:
$i = 1;
while ($i <= 100)
{
echo $i."<br>";
sleep(3);
$i++;
}
在这里,PHP一次打印所有的数字。为什么在打印1,然后休眠3秒,然后打印下一个数字后不停止?有没有办法在特定时间(本例中为3秒)后打印数字?
发布于 2013-10-01 09:32:39
您需要在每次迭代后刷新PHP的输出缓冲区,以获得您想要的结果。
尝试以下操作;将flush();
添加到睡眠调用之上。
如果这样不起作用,那么在同一个flush();
示例上添加ob_flush();
:
$i=1;
while($i > 0)
{
echo $i;
ob_flush();
flush();
sleep($delay);
$i--;
}
发布于 2013-10-01 09:31:55
下面的代码应该可以为您工作:
$i = 1;
while ($i <= 3)
{
flush();
echo $i."<br>";
sleep(3);
ob_flush();
$i++;
}
https://stackoverflow.com/questions/19112589
复制