2016-03-08 67 views
1

我如何循環一個數組(目錄列表),直到沒有任何東西在Laravel Blade上循環?Laravel 5.1刀片 - 循環陣列,直到它的內部陣列結束

Array 
(
    [0] => 0.jpg 
    [1] => 1.jpg 
    [2] => 2.jpg 
    [3] => 3.jpg 
    [FolderA] => Array 
     (
      [0] => A1.jpg 
      [1] => A2.jpg 
      [FolderB] => Array 
       (
        [0] => B1.jpg 
        [1] => B2.jpg 
        [2] => B3.jpg 
        [3] => B4.jpg 
       ) 
     ) 

) 

在我view.blade.php,我得到了陣列上設置foreach循環, 但我不知道如何循環數組不休。

<ul> 
@foreach($dir_files as $dir_name=>$file) 
     @if(is_array($file)) 
      //stuck at here, I cant run a foreach loop inside here right? 
      //should I use include? 
     @else 
      <li> 
       <a href="">{{ $file }}</a> 
      </li> 
     @endif 
@endforeach 
</ul> 

我們有什麼方法可以無限循環使用刀片的3級,5級,10級陣列嗎?我敢肯定,我可以循環陣列,並預編譯數組中的ul li標記,然後在刀片上回顯出來,但是我可能知道laravel blade有任何方法可以執行循環,直到內部數組結束爲止嗎?

回答

1

你可以用partials來做到這一點。假設這段代碼位於名爲partials\partial.blade.php的視圖文件中。你可以這樣做:

<ul> 
@foreach($dir_files as $dir_name=>$file) 
     @if(is_array($file)) 
      @include('partials.partial', ['dir_files' => $file]) 
     @else 
      <li> 
       <a href="">{{ $file }}</a> 
      </li> 
     @endif 
@endforeach 
</ul> 
+1

謝謝!今天我學到了一些新東西!不知道laravel的'@ include'函數可以做很多事情,而不僅僅是包含文件。 – Mavichow