2013-10-01 34 views
0

考虑下面的代码:打印作为While循环迭代

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

这里PHP打印编号的一次。为什么打印后不停止1,然后休眠3秒,然后打印下一个数字?在特定的时间(在这种情况下是3秒)之后有什么方法可以打印数字?

回答

1

此代码应为你工作:

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

您需要刷新每次迭代之后PHP的输出缓冲器得到你想要有结果。

请尝试以下操作; 在睡眠呼叫之上加上flush();

如果不工作,高于相同flush(); 实施例添加ob_flush();

$i=1; 
while($i > 0) 
{ 
    echo $i; 
    ob_flush(); 
    flush(); 
    sleep($delay); 
    $i--; 
}