共计 578 个字符,预计需要花费 2 分钟才能阅读完成。
我在 foreach 循环里加了 echo,我想的是它遍历到一个,输出一个。可是我发现 foreach 数量很大的时候,它就一直在那转,最后一次性输出,这是为啥呢 |
网友回复:
注册 : 俗称卡了
果子狸_圆圆 : 请问我咋样才能让它一个个输出呢
canxiaoa: 可以配合前端实现
果子狸_圆圆 : 这个不是卡了 是缓存输出机制 运算完再把结果输出到页面 如果是命令行执行 PHP 就不会 网页动态输出好像要用的这 2 个函数 ob_end_clean 和 ob_implicit_flush 应该还有其他函数 没试过不清楚
yc260982: php 生命周期就是这样 除非你用 cli 命令行模式
Hyouka_: 所有的基于 cgi 模式的都是这样,除非手动刷新缓冲区
Jonathan9527: 准确说和 php 无关 或者说和语言无关 B / S 架构就是这样 问题不是 php 问题是浏览器 浏览器无法像图片一样 一点点给你加载整个页面 你打开网页也是一次性输出页面 那种 js 异步加载 不在讨论范围
sdqu: 缓冲区问题,可以手动刷新输出到浏览器 echo 下面增加以下代码即可 ob_flush(); flush(); 复制代码
Jonathan9527: 是 webserver 问题,不是浏览器
注册 : 是浏览器是浏览器 所以才有 webservice 做输出解决方案 调试界面如果是命令行 就不存在这种情况了
注册 : telnet xxxx 80 你试下就知道了,除非缓冲区塞满,不会有输出的
正文完