计算 foreach 循环中的迭代次数

如何计算一个 foreach 中有多少项?

我要计算总行数。

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

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

如何计算一个 foreach 中有多少项?

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

如果只需要循环中的索引,可以使用

foreach($Contents as $index=>$item) {
// $index goes from 0 up to count($Contents) - 1
// $item iterates over the elements
}

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

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

你不需要在 foreach里做。

count($Contents)

$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
count($Contents);

或者

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

//如果代码显示不正确,对不起

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

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

试试:

$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];
}

设想一个初始值为 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`
}

试试这个。

    $index = 0;
foreach( $array ?? [] as  $index=> $item  ) {
$index++;


$data[] = array(


'id' =>$index


);
           

        

}