在foreach中每n个循环后调用一个函数?

时间:2011-08-23 16:58:02

标签: php

我的代码中有一个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 :(得分:0)

不,你需要保留一个柜台,否则你不能使用foreach。通过定期的循环,你已经有了一个计数器。所以你可以使用它。

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

$counter = 1;

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