在漫长的foreach循环中是否可以输出任何内容?
每当我执行一个需要很长时间的循环时,在循环完全完成之前不会向屏幕输出任何内容 - 即使echo语句在循环内部也是如此。
有没有办法改变这种行为?
答案 0 :(得分:2)
您需要刷新缓冲区。怎么做取决于您的服务器设置。 PHP脚本通常设置为具有输出缓冲或甚至zlib缓冲编码。无论如何,flush()
和ob_flush()
是两个可以提供帮助的功能。
请注意,如果客户端本身正在缓冲结果,则这些都不会有所帮助。即,没有办法保证冲洗有效。
答案 1 :(得分:0)
您需要同时使用flush()和ob_ flush()来确保正在发送数据。有些浏览器有点挑剔,需要至少发送1k(1,024字节)的数据才能遵守flush命令。