没有foreach计数

时间:2016-08-05 09:32:57

标签: php count

虽然我知道如何在foreach中创建计数,

.bash_profile

我想创建相同的计数效果,但我自己的代码不在foreach中。我的代码示例如下:

$i = -1;
foreach ($menu_items as $item => $value) :
    ...
$i--;       
endforeach;  

结果应该是这样的。

<ul>
<li>...</li>
<li class="menu-item[<?php echo esc_attr( $count ); ?>]">...</li>
<li class="menu-item[<?php echo esc_attr( $count ); ?>]">
    <ul>
        <li class="menu-item[<?php echo esc_attr( $count ); ?>]"></li>
        <li class="menu-item[<?php echo esc_attr( $count ); ?>]"></li>
    </ul>
</li>
<li class="menu-item[<?php echo esc_attr( $count ); ?>]">...</li>
</ul>

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

您需要在使用--

时递减计数器

首先将count设置为零或您希望计数器开始的任何内容,就像在foreach循环之前一样。

<ul>
<li>...</li>
<li class="menu-item[<?php echo esc_attr( $count-- ); ?>]">...</li>
<li class="menu-item[<?php echo esc_attr( $count-- ); ?>]">
    <ul>
        <li class="menu-item[<?php echo esc_attr( $count-- ); ?>]"></li>
        <li class="menu-item[<?php echo esc_attr( $count-- ); ?>]"></li>
    </ul>
</li>
<li class="menu-item[<?php echo esc_attr( $count-- ); ?>]">...</li>
</ul>

这将在显示其当前值后递减$count字段。

如果您要使用

<li class="menu-item[<?php echo esc_attr( --$count ); ?>]">...</li>

首先递减计数器,然后显示其值。

答案 1 :(得分:0)

试试这个..

<ul>
<li>...</li>
<li class="menu-item[<?php $count = -1; echo esc_attr( $count ); ?>]">...</li>
<li class="menu-item[<?php echo esc_attr( --$count ); ?>]">
    <ul>
        <li class="menu-item[<?php echo esc_attr( --$count ); ?>]"></li>
        <li class="menu-item[<?php echo esc_attr( --$count ); ?>]"></li>
    </ul>
</li>
<li class="menu-item[<?php echo esc_attr( --$count ); ?>]">...</li>
</ul>