使用Laravel Blade在PHP数组上迭代,然后添加列的HTML


Iterating over PHP array with Laravel Blade, and then adding in HTML for columns

我有一个包含38条记录的数组。

在迭代了前10个之后,我希望它从一个新的列开始。

这很简单,下面是一个例子,但是,我需要添加HTML,这让它变得很困难:

@for($i = 0; $i < count($records); $i++)
    @if($i % 10 == 0)
        //start new column
    @endif
    <li><a href="#">{{ $records[$i]['name'] }}</a></li>
@endfor

没有循环的HTML是什么样子的,正确循环后应该是什么样子:

<li class="col-sm-3">
    <li class="dropdown-header">
        Record Set
    </li>
    <li><a href="#">Record Name</a></li>
    <li><a href="#">Record Name</a></li>
    <li><a href="#">Record Name</a></li>
</li>

问题是,在10个记录之后,我需要它来突破col-sm-3并开始一个新的col-sm-3,不使用dropdown-header,而是使用每个迭代的记录名称。

如何做到这一点?如果需要澄清,请提问。

如果它是一个数组,那么您可以使用array_couck:

@foreach(array_chunk($records, 10) as $ten_arrays)
    <li class="col-sm-3">
        @foreach($ten_arrays as $record)
           {{ $record['field_name'] }}
        @endforeach
    </li>
@endforeach

这将像这样输出li

<li class="col-sm-3">
    <!-- Ten Items -->
</li>
<li class="col-sm-3">
    <!-- Ten Items -->
</li>