2016-03-08 97 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