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