如何在不使用“计数器”变量的情况下找出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;
}

但正如其他人所说,使用计数器变量并没有错.

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...