打印为While循环迭代

时间:2013-10-01 09:27:59

标签: php while-loop

请考虑以下代码:

$i = 1;
while ($i <= 100)
{
    echo $i."<br>";
    sleep(3);
    $i++;
}

这里PHP一次打印所有数字。打印后为什么不停止1然后睡3秒然后打印下一个数字?有没有办法在特定时间后打印数字(在这种情况下为3秒)?

2 个答案:

答案 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++;
}