如果我有一个 foreach
结构,就像这样:
foreach ($items as $item) {
echo $item . "<br />";
}
我知道我可以通过使用计数器变量来跟踪构造循环的次数,如下所示:
$counter = 0;
$foreach ($items as $item) {
echo $item.' is item #'.$counter. "<br />";
$counter++;
}
但是否可以不使用“计数器”变量来完成上述操作?
也就是说,是否有可能知道 foreach
循环中的迭代次数, 不需要“计数器”变量?
注意:我完全同意在我的循环中使用计数器,但我只是想知道是否有直接内置到 PHP 中的规定......就像很棒的 foreach
构造简化了某些操作,这些操作在使用 for
构造做同样的事情时比较笨重。
最佳答案
不,除非您的 $items
是一个具有以 0 键开头的连续 索引(键)的数组,否则这是不可能的。
如果它有连续的索引:
foreach ($items as $k => $v)
{
echo $k, ' = ', $v, '<br />', PHP_EOL;
}
但正如其他人所说,使用计数器变量并没有错。
关于php - 如何在不使用 "counter"变量的情况下找出 PHP 中 foreach 构造循环的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6699043/