PHP循环分组项目
问题描述:
在一个循环中,我想将前5个项目包装在 li
中,然后将每6个项目包装在 li
中.我正在尝试遵循以下代码,但是它无法正常工作,它将前5个项目包装在 li
中,然后仅将li中的所有第六个项目包装,但是将li的第7-12个包装.
In a loop, I want to wrap first 5 items in a li
, and after that every 6 items in a li
. I'm trying following code, but it is not working properly, it wraps first 5 items in a li
, and after that it wraps only every sixth item in the li, but 7th - 12th without li.
$i = 0;
while ($i < 19){
$i++;
if($i == 1 ){ echo '<li>'; }
if (($i > 5) AND ( $i % 6 == 0)){echo "<li>";}
echo "<div>item " . $i . "</div>";
if( $i == 5 ){ echo '</li>'; }
if(($i > 5) AND ( $i % 6 == 0)) { echo "</li>"; }
}
if ($i < 5 ) { echo "</li>"; }
if (($i > 5) AND ($i % 6 != 0)) { echo "</li>"; }
答
试试这个解决方案:
for ($i = 1; $i < 20; $i++) {
echo ($i === 1 || $i % 6 === 0) ? "<li>" : null,
"<div>item {$i}</div>",
($i % 6 === 5) ? "</li>" : null;
}
if ($i % 6 !== 0) echo "</li>";
我试图使它尽可能简单.
I've tried to keep it as simple as possible.
Code Example