php - php while循环中的回显/打印问题

标签 php ajax loops echo while-loop

我需要对此进行修复。
这只是我的部分代码

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

}
?> 

循环中的循环过程其实要大很多,我只是把重要的东西放上去。

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

但是它会等到循环结束,然后一次打印出来。有解决办法吗?我在想一个 ajax 方法,但我不知道。

最佳答案

很高兴每个人都解释了原因。

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

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

关于php - php while循环中的回显/打印问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2382185/

相关文章:

php - 我可以在将 html 文件加载到 DOMDocument 时 try catch PHP 警告吗?

php - 接口(interface)中的构造方法

javascript - 使用jsp和javascript的异步文件上传(AJAX文件上传)

php - Symfony2 : Uploads a file using Ajax and jQuery

c++ - 如何在 boost 单元测试中比较 char* 和 string?

javascript - 如何使用 Jquery 循环变量

php - PDO 声称未捕获异常,即使它在 try/catch block 内?

php - FOSOAuthServerBundle,授权 header 不起作用,但查询中的 access_token 起作用

jquery 路径名和语法

java - 如何在循环中调用不同的 jTextareas?