2014-09-19 55 views
1

我有一個包含38條記錄的數組。用Laravel Blade迭代PHP陣列,然後在HTML中添加列

迭代了前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但每個迭代的n的記錄名稱。

這怎麼辦?如果需要澄清,請提問。

回答

2

如果它是一個數組,那麼你可以使用array_chunk

@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> 
+0

我得到未定義指數爲我的數組中的鍵。 – asgwar12 2014-09-19 21:28:14

+0

你在'array'中有什麼字段? – 2014-09-19 21:29:10

+0

作品非常感謝。 – asgwar12 2014-09-19 21:30:28