PHP-foreach循环多次并创建一个新列表


PHP - foreach loop many times and create a new list

我有一个有很多值的数组,我想用PHP实现这样的列表。

<div class="item">
  <div class="thumb-cont">
     <ul>
        <li><a href="#"><img src=""></a></li>
        <li><a href="#"><img src=""></a></li>
        <li><a href="#"><img src=""></a></li>
        <li><a href="#"><img src=""></a></li>
        <li><a href="#"><img src=""></a></li>
        <li><a href="#"><img src=""></a></li>
     </ul>
    </div>
</div>
<div class="item">
  <div class="thumb-cont">
     <ul>
        <li><a href="#"><img src=""></a></li>
        <li><a href="#"><img src=""></a></li>
        <li><a href="#"><img src=""></a></li>
        <li><a href="#"><img src=""></a></li>
        <li><a href="#"><img src=""></a></li>
        <li><a href="#"><img src=""></a></li>
     </ul>
    </div>
</div>
<div class="item">
  <div class="thumb-cont">
     <ul>
        <li><a href="#"><img src=""></a></li>
        <li><a href="#"><img src=""></a></li>
        <li><a href="#"><img src=""></a></li>
        <li><a href="#"><img src=""></a></li>
        <li><a href="#"><img src=""></a></li>
        <li><a href="#"><img src=""></a></li>
     </ul>
    </div>
</div>

任何人能帮助我如何在foreach或php中的for循环中管理这个列表吗。谢谢你的帮助!

$arr有18个元素,$html将有所有带有ul 的html字符串

$len = count($arr);
$html = '<ul><div class="item"><div class="thumb">';
for ($i = 0; $i < $len; $i++) {
    if(!$i%6 && $i != 0){
        $html .= '</ul></div></div><ul><div class="item"><div class="thumb">';
    }
    $html .='<li>content</li>';
}
$html .='</ul></div></div>';

对于18个元素,它将包含6个元素

    6个元素
        6个elemnt

我假设您在PHP循环中生成HTML <ul>标记。使用以下代码:

for($ind = 1; $ind <= 18; $ind++)
{
    if($ind <= 6) // Loop 1 through 6
    {
        // Add <ul> elements here.
    }
    else if($ind >= 7 && $ind <= 12) // Loop 7 through 12
    {
        // Add <ul> elements here.
    }
    else if($ind >=13 $ind <= 18) // Loop 13 through 18
    {
            // Add <ul> elements here.
    }
}

如果它能解决你的问题,请把它标记为答案。

$counter = 0;
foreach($arrayElems as $elem) {
    $counter++;
    if ($counter < 6) {
        // build ul of first 6 elements
    }
    else if($counter < 12) {
        // build ul of next 6 elements
    }
    else {
        // build ul of next 6 elements
    }
}