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.

52
demandé sur yuli chika 2011-06-03 01:21:20

9 réponses

tout d'Abord, si vous voulez juste trouver le nombre d'éléments dans un tableau, utiliser 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 aussi jeter un oeil aux réponses ici:

96
répondu aioobe 2017-05-23 10:31:24

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

il suffit d'utiliser count($Contents) .

40
répondu tjm 2011-06-02 21:24:45
sizeof($Contents);

ou

count($Contents);
16
répondu Fase 2011-06-02 21:31:15
foreach ($Contents as $index=>$item) {
  $item[$index];// if there are 15 $item[number] in this foreach, I want get the value : 15
}
12
répondu Alejandro Moreno 2013-12-16 13:16:11

il y a plusieurs façons d'aborder celui-ci.

vous pouvez définir un compteur avant le foreach() et ensuite juste itérer par lequel est l'approche la plus facile.

$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
répondu JimP 2016-09-06 20:42:14
$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
répondu webbiedave 2011-06-02 21:29:53
foreach ($array as $value)
{       
    if(!isset($counter))
    {
        $counter = 0;
    }
    $counter++;
}

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

//j'aime cette version, parce que la variable compteur est DANS le foreach, et non au-dessus.

1
répondu statistnr1 2013-09-10 10:13:58

, Essayez:

$counter = 0;
foreach ($Contents as $item) {
          something 
          your code  ...
      $counter++;      
}
$total_count=$counter-1;
1
répondu vivekpvk 2015-05-27 11:19:41

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

aussi ce

$count = 0;
foreach($Contents as $items) {
  $count++;
  $items[number];
}
0
répondu Journey Dagoc 2016-10-05 06:39:06