php在迭代循环时回显结果

时间:2014-04-29 04:28:07

标签: php memory-management buffer

我是执行循环和内部循环,循环内部有数据处理函数。

  for($i = 0 ; $i <=680 ; $i = $i + 40)
    {
          $url = 'http://www.yelp.com/biz/franchino-san-francisco?start=80';
          $root = yelp($url);
          var_dump($root);
    }

此循环需要很长时间才能执行,并且在整个循环完成时结果会在结束时回显。

如何在每次迭代期间回显结果?

其实这里发生了什么?结果是存储在缓冲区中,最后是回显还是什么?

2 个答案:

答案 0 :(得分:4)

PHP缓冲输出。

如果您想立即将内容输出到浏览器,可以使用flush()ob_flush()函数:

for ($i = 0; $i <= 680; $i += 40) {
    $url = 'http://www.yelp.com/biz/franchino-san-francisco?start=80';
    $root = yelp($url);
    var_dump($root);
    flush();
    ob_flush();
}

答案 1 :(得分:1)

如果您通过网页执行PHP,这就是行为。

PHP是一种服务器端语言,所有代码都将在显示输出到客户端之前执行。 (使用浏览器)

如果要在循环中显示结果,最好使用console / cmd(命令行)

Here可以帮助您在命令行中使用PHP。