在一个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]; }