我需要对此进行修复。
这只是我的部分代码
<?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/