计算foreach循环中的迭代次数

时间:2011-06-02 21:21:21

标签: php foreach

如何计算foreach中有多少项?

我想计算总行数。

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

感谢。

10 个答案:

答案 0 :(得分:106)

首先,如果您只想查找数组中的元素数量,请使用count。现在,回答你的问题......

  

如何计算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
}

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

答案 1 :(得分:43)

您无需在foreach中执行此操作。

只需使用count($Contents)

答案 2 :(得分:16)

sizeof($Contents);

count($Contents);

答案 3 :(得分:14)

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

答案 4 :(得分:4)

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

你可以在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
}

答案 5 :(得分:1)

$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

答案 6 :(得分:1)

foreach ($array as $value)
{       
    if(!isset($counter))
    {
        $counter = 0;
    }
    $counter++;
}

//如果代码显示不正确,很抱歉。 :P

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

答案 7 :(得分:1)

尝试:

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

答案 8 :(得分:0)

您可以sizeof($Contents)count($Contents)

也是这个

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

答案 9 :(得分:0)

想象一下一个初始值为0的计数器。

对于每个循环,使用$counter = 0;

将计数器值增加1

循环返回的最终计数器值将为for循环的迭代次数。查找下面的代码:

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

尝试一下。