2011-08-23 127 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. 
    } 
} 
相關問題