" ; ケース 2: エコー &"/> " ; ケース 2: エコー &">

ホームページ >バックエンド開発 >PHPチュートリアル >ループステートメントの出力に関する問題

ループステートメントの出力に関する問題

WBOY
WBOYオリジナル
2016-06-13 13:23:45937ブラウズ

ループ ステートメント出力
の問題は、for+switch を使用して指定されたステートメント

for ($i=1; $i{ スイッチ ( $i)
{
ケース 1:
エコー "1";
エコー "
" ;

ケース 2:
エコー "2";
エコー "
" ;
ブレーク;
ケース 3:
エコー "3";
エコー "
" ;
ブレーク;
ケース 4:
エコー "4";
エコー "
" ;
ブレーク;
ケース 5:
エコー "5";
echo "< ;BR>" ;

default:
echo "OK";
}

たとえば、上記のステートメントは、i が等しい場合に特定の数値を出力できます。
しかし、現在、1 ~ 5 の数字が数秒ごとに出力されます。たとえば、1 を出力した後、5 秒ごとに 2 を出力し、その後 3 を出力するにはどうすればよいでしょうか。
別の質問があります。上記のコードは 1 回しか出力できません。つまり、1 ~ 5 個の数字を出力する方法はありますか。 a ループ
つまり、1~5 を出力した後、i が 1 になり、再度出力する



------解決策------ -------------
1.スリープを追加(5)
2.スイッチ($i%5)

------解決策----------------------
彼にタイマーを追加したら、私もそうします問題はスリープではなく、php が結果を出力する前にすべてのコードを処理することに気づいていないことです。タイプライターのように表示したい場合は、js を使用して制御してください。



ディスカッション

スリープ機能を使用すると、
結果は 1 回出力されますが、5 秒後には次の結果が出力されません。
ajax 呼び出し時間を設定します。30 秒に変更しても同じ結果が得られ、1 つずつ出力することはできません


------解決策---------
出力を 5 秒間遅延します。 フラッシュが必要です();
ob_flush();
sleep(5);

IE ブラウザの場合は、
echo $i (' ', 256);
も必要です。つまり、各出力は 256 バイト未満にすることはできません

この効果を達成するための必要十分条件は、output_buffering = off




声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。