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

$count=$count+1; 

} 

} 

J'essaie de maintenir un nombre distinct pour chaque numéro de clé dans le code ci-dessus.maintenir un compte dans foreach

Par exemple: touche 574, elle recherche à partir des pages 10-50 et incrémente le nombre.

Le problème que j'ai est le nombre est continu. Après avoir recherché la première touche et passé à la touche suivante, j'ai besoin que le compte commence au début plutôt que d'être continu.

Par exemple: clé 874: count = 22, dans mon cas la prochaine touche 875: le nombre est de 23

je dois faire 1.

J'ai enlevé le bloc et si plusieurs lignes parce que le code est trop long.

Quelqu'un peut-il s'il vous plaît me suggérer une façon comment le faire

Répondre

1

Utilisez un tableau pour stocker des valeurs de comptage:

$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; 

De cette façon, chaque valeur de clé aura le nombre stocké dans le tableau et vous avez compte séparé pour les clés séparées.

+1

Vous ne savez pas si, en php, vous auriez besoin d'ajouter $ count [$ dbkey] = 0; avant la boucle for imbriquée. mais c'est plus sûr. – Anand

+0

@Anand, n ° $ compte [$ dbkey] = 0; n'est pas requis. – shamittomar