【发布时间】:2023-03-17 09:54:01
【问题描述】:
我有一个项目数组,代表服务器上目录的文件和目录结构。
$items 数组的构造如下:
Array
(
[folder1] => Array
(
[folder1_1] => Array
(
[0] => filenameX.txt
[1] => filenameY.txt
)
)
[pages] => Array
(
)
[0] => filename.txt
[1] => filename1.txt
)
我们想要的,本质上是<ul>,每个节点都有<li>。
生成的 HTML 应该类似于
- 文件夹1/
- 文件夹1_1/
- 文件名X.txt
- 文件名Y.txt
- 文件夹1_1/
- 页数/
- 文件名_1.txt
- 文件名_2.txt
现在,我的问题与 laravel 刀片模板引擎的嵌套包含有关。
我有一个视图list.blade.php,内容如下
<div class="listing">
@include('submenu', array('items', $items))
</div>
然后我像这样将数组传递给它:
View::make('list')->with('items', $items)
包含的模板 (submenu.blade.php) 具有以下内容:
<ul>
@foreach($items as $key=>$value)
@if (is_array($value))
<li>{{$key}}/
@include('submenu', array('items', $value))
</li>
@else
<li>{{$value}}</li>
@endif
@endforeach
</ul>
如果$value 是一个数组(目录)
首先,这可能吗?
如果没有,还有其他方法可以达到预期的效果吗?
TIA,
【问题讨论】:
-
请记住,递归可能很长。
-
好吧,我做到了...
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted
标签: php templates laravel laravel-4 blade