Php 获取输出';在';一个长的foreach循环-不只是在循环中最后一项的末尾

Php 获取输出';在';一个长的foreach循环-不只是在循环中最后一项的末尾,php,foreach,continue,Php,Foreach,Continue,我在每个循环中工作了很长时间,在处理完所有项目后,循环会正确输出 foreach ($matches[0] as $map_link) { if ($map_link!='' && $i < $max_tags ) { include('reg-process.php'); } $i++; } foreach($map\u链接与[0]匹配){ 如果($map\u link!=''&$i

我在每个循环中工作了很长时间,在处理完所有项目后,循环会正确输出

    foreach ($matches[0] as $map_link) {
    if ($map_link!='' && $i < $max_tags ) {
        include('reg-process.php');
    }

    $i++;
    }
foreach($map\u链接与[0]匹配){
如果($map\u link!=''&$i<$max\u标签){
包括('reg-process.php');
}
$i++;
}
事实上,对于超过600个匹配项的$matches[0],它包括 “reg process.php”页面,依次处理每个匹配,一个多小时后完成并输出所有结果。。 我需要的是不要等到最后一项才看到结果,因此,当循环在处理每个项之后工作时,它可以被回响。。 所以我再次需要每次循环包含'reg process.php'页面时打印出来
结果是,不要哭到最后一项,然后立即全部打印出来。。类似于continue的内容?

您没有使用正确语法遵循foreach格式。理想的代码如下-

foreach ($arr as $value) {
    $value = $value * 2;
}
确保,$matches[0]是一个数组。如果没有数组,它将无法工作。只要重写你的代码,希望能正常工作

不应以您使用它的方式使用,它应用于包含功能或降低单个文件的复杂性,而不是将其作为一种功能滥用。所以首先,去掉include,因为这将在某个时间点导致问题(即,如果一个文件包含函数,则不能多次包含该文件)

有不同的方法可以得到你想要的,这里有两种可能性:

1.)基于文件的日志记录:

<?php
// file: register_process.php
function registerProgress($map_link) 
{
  // YOUR CODE 
  // ...
  // assuming that the result of your code is a string variable that can be logged
  file_put_contents('registration.log', $logResult, FILE_APPEND);
}

include('register_progress.php');    

foreach ($matches[0] as $map_link) {
  if ($map_link!='' && $i < $max_tags ) {
      registerProgress($map_link);
  }
  $i++;
}

ok,在您的示例中,完成后将正确输出或重新运行所有$arr项。。我需要的不是等待$arr中的600个项目,所以在每个周期后尝试输出。。像continue这样的事情?这会有帮助,但不会完全解决您的问题(实际上无法解决)。在循环中,在include之后添加以下行:
ob_flush()-它将导致PHP将输出推送到浏览器。这不会是完美的,但会有帮助。注意:这不是一个好方法-你不应该
在循环中包含
,而是应该将该代码(在
reg process.php
)转化为一个函数,并在循环中调用该函数。太聪明了,我不知道你的代码是什么,但它工作了。。好吧,也许不完全是在每个项目的循环之后,但就像每10个项目循环之后一样,它会回显结果并附加到屏幕的末尾,对我来说非常简单和完美。因此,对于一个600个项目的循环,这将需要一个多小时,现在我可以在循环为下一个项目工作时研究一些结果。很好,我相信你的两个建议都会起作用,只是我记得我的懒惰想法就像你的答案一样,但我在开发过程中忘记了它们,希望会有类似“继续”这样的东西来做非常简单。。好主意,信息丰富的人。。顺便问一下,为什么人们给这个问题打负分?如果有人不能回答这个问题,请不要给它打负面分数@ShahramMohseni:IMHO你的问题被否决了,因为它代表了一个错误编码/错误实践的例子,人们不希望其他用户因为他们的代码而接受它。只要我的两分钱。。。