Foreach循环并递增变量并输出到css

时间:2013-06-04 23:02:24

标签: php css for-loop foreach

我使用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++; ?>">

1 个答案:

答案 0 :(得分:3)

 <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';
 } ?> 

应循环整个块