2013-10-01 156 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--; 
}