web-dev-qa-db-fra.com

Compter le nombre d'itérations dans une boucle foreach

Comment calculer combien d'éléments dans une foreach?

Je veux compter le nombre total de lignes.

foreach ($Contents as $item) {
    $item[number];// if there are 15 $item[number] in this foreach, I want get the value : 15
}

Merci.

54
yuli chika

Tout d’abord, si vous voulez juste connaître le nombre d’éléments d’un tableau, utilisez count . Maintenant, pour répondre à votre question ...

Comment calculer combien d'éléments dans une foreach?

$i = 0;
foreach ($Contents as $item) {
    $i++;
    $item[number];// if there are 15 $item[number] in this foreach, I want get the value : 15
}

Vous pouvez également consulter les réponses ici:

103
aioobe

Vous n'avez pas besoin de le faire dans la foreach

Utilisez simplement count($Contents).

43
tjm
sizeof($Contents);

ou

count($Contents);
16
Fase
foreach ($Contents as $index=>$item) {
  $item[$index];// if there are 15 $item[number] in this foreach, I want get the value : 15
}
13
Alejandro Moreno

Il y a plusieurs façons de s'attaquer à celui-ci. 

Vous pouvez définir un compteur avant foreach (), puis simplement parcourir l’approche la plus simple. 

$counter = 0;
foreach ($Contents as $item) {
      $counter++;
       $item[number];// if there are 15 $item[number] in this foreach, I want get the value : 15
}
4
JimP
foreach ($array as $value)
{       
    if(!isset($counter))
    {
        $counter = 0;
    }
    $counter++;
}

// Désolé si le code n'est pas affiché correctement. : P

// J'aime plus cette version, car la variable counter est IN the foreach, et non supérieure.

1
statistnr1
$Contents = array(
    array('number'=>1), 
    array('number'=>2), 
    array('number'=>4), 
    array('number'=>4), 
    array('number'=>4), 
    array('number'=>5)
);

$counts = array();

foreach ($Contents as $item) {
    if (!isset($counts[$item['number']])) {
        $counts[$item['number']] = 0;
    }
    $counts[$item['number']]++;
}

echo $counts[4]; // output 3
1
webbiedave

Essayer:

$counter = 0;
foreach ($Contents as $item) {
          something 
          your code  ...
      $counter++;      
}
$total_count=$counter-1;
1
vivekpvk

Vous pouvez faire sizeof($Contents) ou count($Contents)

aussi cela 

$count = 0;
foreach($Contents as $items) {
  $count++;
  $items[number];
}
0
Journey Dagoc