[英]Need first ul has 1 li and each ul has 5 li
我在PHP foreach循环中需要这种类型的结构。 我尝试了这段代码:
<ul>
<li>1</li>
</ul>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
我在循环中尝试了这种情况并可以正常工作,但我首先需要1 li。
<?php
$counter = 1;
foreach( $myposts as $post ) :
setup_postdata($post);
if ($counter % 5 == 1) {
echo '<ul>';
}
echo '<li>testing ...</li>'
if($counter % 5 == 0) {
echo '</ul>';
}
$counter++;
endforeach;
?>
任何人都可以扩展我的逻辑吗?
这是我想出的:
$myposts = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
$counter = 0;
echo '<ul>';
foreach( $myposts as $k=>$post ) :
//setup_postdata($post);
echo '<li>'.$post.'</li>';
if($counter==0 || $counter==5){
echo "</ul>".($k!=count($myposts)-1 ? "<ul>" : "");
$counter = 0;
}
$counter++;
endforeach;
if($counter==5){
echo '</ul>';
}
这种最大的误解是,大多数人不会费心关闭最后一个标签(在您的情况下为ul
),或者在不应该关闭时打开一个新标签(在您的情况下为ul
)。
附言:我不得不评论setup_postdata
才能正常工作。
注意:在数组中添加或删除元素不会影响1,5,5,...的结构(然后余数取决于剩下的内容)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.