php - 如何在不使用 "counter"变量的情况下找出 PHP 中 foreach 构造循环的次数?

标签 php

如果我有一个 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/

相关文章:

php - 我如何将其转换为 mysqli

php - 字符串数据,右截断 : 1406 Data too long on Bit Column

php - 加载我的页面后元素不存在

php - 如何通过PHP将正则表达式数据的完整内容插入wordpress数据库?

php - 无法使用PHP的shell_exec执行powershell脚本功能

php - WHERE gid=$gid LIMIT 26 不起作用?

php - Elasticsearch不返回部分结果

排序

PHP - 使用 get_option 将选项发送到 style.php

php - 在 codeigniter 中多次返回相同的结果