循环中的回声/打印问题

Jos*_*oux 6 php ajax loops echo while-loop

我需要修复此问题.
这只是我代码的一部分

<?php
$number = 30;
while($number > 0) {
 $number--;
 sleep(30);
 print "$number . Posted<br>";

}
?> 
Run Code Online (Sandbox Code Playgroud)

循环中的循环过程实际上要大得多,我只是把重要的东西.

无论如何,你可以看到它应该打印
30张贴
(等待30秒)
29张贴
(等待30秒)
28张贴
(等待30秒)

但是它等待直到循环结束,然后立即打印所有.有没有解决这个问题?我在想一个ajax方法,但我不知道.

ani*_*son 15

很高兴大家解释了原因.

这是因为默认情况下,PHP会在将任何内容"刷新"到浏览器之前处理所有内容.只需打印每一行,它就会将这些信息存储在缓冲区中,一旦PHP执行完毕,这些信息将同时打印出来.

如果您希望PHP在该行之后立即将该内容刷新到浏览器,则需要flush()在每个内容之后调用,然后在调用每个文本后一次输出一行文本.