迴圈語句輸出有關問題

來源:互聯網
上載者:User
迴圈語句輸出問題
是用for+switch可以輸出一段指定的語句,

for ($i=1; $i<=10; $i++)
{
switch ($i)
{
case 1:
echo "1";
echo "
" ;

break;
case 2:
echo "2";
echo "
" ;
break;
case 3:
echo "3";
echo "
" ;
break;
case 4:
echo "4";
echo "
" ;
break;
case 5:
echo "5";
echo "
" ;

default:
echo "OK";
}

例如以上語句可以在i等於某個數時輸出某個數字,
但是現在1-5個數字是瞬間輸出,請教可以用什麼方法讓這5個數字隔幾秒再輸出,比如輸出1後隔5秒輸出2,再隔5秒輸出3
還有個問題,上面的代碼只能輸出一次,就是說輸出1-5個數字後就不輸出了,請教有沒什麼辦法可以迴圈輸出1-5個數
就是說,輸出完1-5之後,把i變成1,又重新輸出一次


------解決方案--------------------
1.加上 sleep(5)

2.switch($i%5)
------解決方案--------------------
如果你給他加個計時器你又發現有作用了.問題不在sleep而在於你沒有意識到php是處理完所有代碼再輸出結果.
如果你要像打字機那樣顯示,那麼請使用js來控制.

探討

用了sleep函數,
結果還是會一次性輸出,並沒有輸出一個,過5秒,再輸出一個的形式
把ajax調用時間改成30秒還是一樣的結果,無法一個一個的輸出

------解決方案--------------------
延時 5 秒輸出,需要
flush();
ob_flush();
sleep(5);

對於 ie 瀏覽器,還需
echo $i . str_repeat(' ', 256);
即每次輸出不能少於 256 位元組

達到此效果的充分必要條件是 output_buffering = off


  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.