保持对foreach的计数

时间:2010-08-10 04:42:05

标签: php loops

$count=0;
$numb=50;
foreach ($sepkeys as $dbkey)
{
    for ($page=10;$page<=$numb;$page=$page + 10)
    {
    // the if block

$count=$count+1;

}

}

我试图在上面的代码中为每个键号保持一个单独的计数。

例如:key-574,它从第10-50页搜索并递增计数。

我遇到的问题是计数是连续的。在搜索第一个键并继续下一个键然后我需要计数从头开始而不是连续。

例如:key-874:count = 22,在我的情况下是下一个键875:计数是23

我需要做到1。

我删除了if块和几行,因为代码太长了。

有人可以建议我如何做到这一点

1 个答案:

答案 0 :(得分:1)

使用数组存储计数值:

$count = array();
$numb=50;
foreach ($sepkeys as $dbkey)
{
    for ($page=10;$page<=$numb;$page=$page + 10)
    {
         // the if block
         $count[$dbkey] = $count[$dbkey] + 1;
    }
}

//Displaying counts:
foreach($count as $key=>$val)
    echo "Key {$key} has count: {$val}".PHP_EOL;

这样,每个键值都会有一个存储在数组中的计数,并且您对单独的键有单独的计数。