在一个foreach循环中计数迭代次数

如何计算foreach中有多less项?

我想统计总行数。

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

谢谢。

首先,如果你只是想找出一个数组中的元素的数量,使用count 。 现在,回答你的问题

如何计算foreach中有多less项?

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

你也可以看看这里的答案:

  • 如何find这个foreach索引

你不需要这样做。

只要使用count($Contents)

 sizeof($Contents); 

要么

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

有几种不同的方法可以解决这个问题。

你可以在foreach()之前设置一个计数器,然后迭代通过哪一个是最简单的方法。

 $counter = 0; foreach ($Contents as $item) { $counter++; $item[number];// if there are 15 $item[number] in this foreach, I want get the value : 15 } 
 $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 
 foreach ($array as $value) { if(!isset($counter)) { $counter = 0; } $counter++; } 

//对不起,代码显示不正确。 :P

//我更喜欢这个版本,因为计数器variables是在foreach中,而不是在上面。

尝试:

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

你可以做sizeof($Contents)或者count($Contents)

也是这个

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