Laravel 5.1 Blade - 循环数组直到其内部数组结束
Posted
技术标签:
【中文标题】Laravel 5.1 Blade - 循环数组直到其内部数组结束【英文标题】:Laravel 5.1 Blade - Loop an array until its inner array end 【发布时间】:2016-06-22 08:53:59 【问题描述】:我如何循环一个数组(目录列表)直到它在 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>
我们有什么方法可以用blade无限循环3level、5level、10level数组吗?
我确定我可以循环数组并在数组中预编译 ul li
标记,然后在刀片上回显,但我可以知道 laravel 刀片是否有任何方法可以执行循环直到内部数组结束?
【问题讨论】:
【参考方案1】:你可以用部分来做到这一点。假设此代码位于名为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>
【讨论】:
谢谢!我今天学到了新东西!不知道 laravel 的@include
函数可以做这么多事情,而不仅仅是包含文件。以上是关于Laravel 5.1 Blade - 循环数组直到其内部数组结束的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Laravel 5.1 中从 Blade 调用控制器动作?
在 Laravel 5.1 中使用 Blade 访问嵌套 URL