对于每个循环和递增变量并输出到 css


Foreach loop and incrementing variable and output to css

我使用Kirby CMS作为后端。我希望我的 html 输出具有以下结构:

<ul>
    <li class="link-1"><a href="/#">Link</a></li>
    <li class="link-2"><a href="/#">Link</a></li>
    <li class="link-3"><a href="/#">Link</a></li>
    <li class="link-4"><a href="/#">Link</a></li>
</ul>

我有以下代码:

<?php foreach($pages->visible() AS $p): ?>
<?php $nbr = $pages->countVisible()?>

<li class="link-<?php for ($i = 1; $i <= $nbr; $i++){echo $i;} ?>">
    <a<?php echo ($p->isOpen()) ? ' class="active"' : '' ?> href="<?php echo $p->url() ?>"><?php echo html($p->title()) ?></a></li>
<?php endforeach ?>

但相反,我只得到 css 类

链接-1234

在每个链接中,所以它正在制作 for 循环,但我只需要每个 foreach 循环一个数字。


这段代码使它工作:

<li class="link-<?php static $x=1; echo $x; $x++; ?>">
 <li class="link-<?php for ($i = 1; $i <= $nbr; $i++){echo $i;} ?>">

仅在该元素内循环

 <?php for ($i = 1; $i <= $nbr; $i++){ 
echo "<li class='"link-$i'">";
echo 'the rest of the line';
 } ?> 

应该循环整个块