2011-08-23 120 views
1

我的代码中存在一个foreach循环,任务的进度取决于该循环。现在,我无法找到foreach循环中正在进行的循环。最终,我无法追踪进展。在foreach中的每个循环之后调用一个函数?

有没有比包含递增变量和检查它是否跨越n个循环更好的方法?

总之:无论如何改善以下功能?

例子:

<?php 
$counter = 1; 
$theN = 100; 
foreach($allLoops as $thisLoop) { 
    /* 
    The code to perform the "task" 
    */ 
    if($counter%$theN == 0) { 
     theFunction(); 
    } 
    $counter++; 
} 
+1

你能举个例子吗? –

+0

@Daniel添加了它。 – kapeels

回答

0

不,你需要保留一个计数器,或不能使用的foreach。有了一个常规的循环,你已经有了一个计数器。所以你可以使用它。

但我认为与foreach循环一起使用一个变量是最简单的方法,这基本上是你已经拥有的。 :)(与其他答案只会调用一次函数相反)。

$counter = 1; 

foreach($array as $key => $value) 
{ 
    if ($counter++ % 5 == 0) 
    { 
     // This code is executed every fith loop. 
    } 
} 
相关问题