我必须在上面的无序列表中显示一些信息:
<ul>
<li class="first">...</li>
<li>...</li>
<li class="last">...</li>
<li class="first">...</li>
<li>...</li>
<li class="last">...</li>
<li class="first">...</li>
<li>...</li>
<li class="last">...</li>
...
</ul>
我需要使用PHP打印它。
我的问题是如何在每三个结果之后为第一个la last元素设置该类?
谢谢。
答案 0 :(得分:2)
在转储结果时,请使用计数器。
for ($i = 0; $i < $items; $i++){
}
然后,您可以通过MOD计数器查看您所在的元素。 e.g:
for ($i = 0; $i < $items; $i++){
// start with no class applied
$className = '';
// 0 / 3 = 0, remainder of 0
// 3 / 3 = 1, remainder of 0
// etc.
if ($i % 3 == 0) $className = 'first';
// 2 / 3 = 0, remainder of 2
// 5 / 3 = 1, remainder of 2
// etc.
else if ($i % 3 == 2) $className = 'last';
// print the element, and any class that needs to be applied
echo '<li class="' . $className . '">...</li>';
}
答案 1 :(得分:1)
像这样......
<ul>
<?
$classes = array('first', '', 'last');
for ($i = 0; $i < count($myResults); $i++) :
$class = $classes[$i % 3];
?>
<li class="<?=$class?>><?=$myResults[$i]?></li>
<?
endfor;
?>
</ul>
答案 2 :(得分:0)
我假设您正在使用数组:
foreach($array as $index=>$value){
$class = "";
if($index%3 == 0){
$class = "first";
}
if($index%2 == 0){
$class = "last";
}
}