2
我目前正在Symfony 2.8的网站项目上工作。 但我有一个问题:我想显示来自JSON对象的信息。但是,我需要做三个嵌套的for-loop来做我想做的事。三个嵌套for循环似乎不工作
因此,这里是我的代码块:
我想浏览数组:
element stdClass Object =>
(
[partschemes] => Array
(
[0] => ([id] => 1)
)
[decodedPartitions] => Array
(
[0] => stdClass Object
(
[partitions] => Array
(
[0] => stdClass Object
(
[name] => WINDOWS
[type] => primary
[size] => -
[filesystem] => fat32
)
[1] => stdClass Object
(
[name] => DATA*
[type] => primary
[size] => 256 Mo
[filesystem] => fat32
)
)
)
)
)
我的树枝模板:
{% for i, disk in element.decodedPartitions %}
<tr>
<th class="text-center" rowspan="3" width="10%">
<a href="{{ app.request.baseUrl }}/partscheme/details/{{ element.partschemes[i].id }}" class="btn btn-info" title="{{ 'button.details' | trans }}">Disk {{ i }}</a>
</th>
</tr>
{% for j, part in disk.partitions %}
<tr>
<th class="text-center" width="10%">Partition {{ j }}</th>
<td>
{% for k, partInfo in part %}
{{ k }}: {{ partInfo }}<br>
{% endfor %}
</td>
</tr>
{% endfor %}
{% endfor %}
这样做的结果,产生的页面显示我,没有不同分区的信息:
---------------------------------
| Partition 0 | |
Disk 1 |-------------|----------|
| Partition 1 | |
---------------------------------
您不能直接在树枝中迭代对象属性('部件是对象,不是数组!)。你可以改变导出的变量,这样'part'就是数组,或者你可以查询具体属性,比如'part.name','part.type',...或者你可以用自定义过滤器将对象转换为数组,像这里所描述的:http://stackoverflow.com/questions/11841515/twig-iterate-over-object-properties – Miro