下面的PHP代碼一氣呵成地回傳12345678910......。
for ($i=0; $i<1000; $i ) {
sleep(1)。
echo $i;
我怎樣才能讓它只列印當前的回圈數,而不是把所有的數字放在一起列印呢?
CodePudding
這可以在php cli中使用退格字符"x08"
<?php
$length = 0;
for($i=0; $i<1000; $i )
{
//洗掉與前一個數字的長度相同的字符。
echo str_repeat("x08", $length) 。
sleep(1)。
echo $i;
//得到數字的長度,所以你知道你要洗掉多少。
$length = strlen((string)$i) 。
}
uj5u.com熱心網友回復:
這是我建議的答案(適用于瀏覽器)
。a) 我相信OP想讓輸出生成到瀏覽器界面
b) 要生成瀏覽器界面的輸出。
b) 為了在1秒的休眠期間生成計數的輸出,我們需要在每次休眠之前沖洗輸出
c) 在瀏覽器界面中,不可能生成退格符,所以讓我們做一個javascript技巧來更新div<div id=output1></div>
。
$index=0。
while($index < 1000) {
ob_start()。
echo "<script>document.getElementById('output1').innerHTML=" 。$index . "</script>"。
ob_end_flush()。
@ob_flush();
flush()。
sleep(1)。
$index 。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/312346.html
標籤:
