Laravel 5.1 Blade - 循环阵列直到其内部阵列结束

时间:2016-03-08 12:04:54

标签: php arrays laravel laravel-5 laravel-blade

如何循环数组(目录列表),直到在Laravel Blade上无法循环?

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 个答案:

答案 0 :(得分: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>