Php 三个嵌套for循环似乎不起作用
我目前正在做一个关于Symfony 2.8的网站项目。 但我有一个问题:我想显示来自JSON对象的信息。然而,我需要做三个嵌套for循环才能完成我想要的 下面是我的代码块: 我要浏览的阵列:Php 三个嵌套for循环似乎不起作用,php,symfony,for-loop,nested,twig,Php,Symfony,For Loop,Nested,Twig,我目前正在做一个关于Symfony 2.8的网站项目。 但我有一个问题:我想显示来自JSON对象的信息。然而,我需要做三个嵌套for循环才能完成我想要的 下面是我的代码块: 我要浏览的阵列: element stdClass对象=> ( [partschemes]=>阵列 ( [0]=>([id]=>1) ) [decodedPartitions]=>数组 ( [0]=>stdClass对象 ( [分区]=>阵列 ( [0]=>stdClass对象 ( [名称]=>WINDOWS [类型]=>主
element stdClass对象=>
(
[partschemes]=>阵列
(
[0]=>([id]=>1)
)
[decodedPartitions]=>数组
(
[0]=>stdClass对象
(
[分区]=>阵列
(
[0]=>stdClass对象
(
[名称]=>WINDOWS
[类型]=>主要
[大小]=>-
[文件系统]=>fat32
)
[1] =>stdClass对象
(
[名称]=>数据*
[类型]=>主要
[大小]=>256个月
[文件系统]=>fat32
)
)
)
)
)
我的小枝模板:
{%for i,element.decodedPartitions%中的磁盘]
{%j,部分在disk.partitions%}
分区{{j}
{%k,partInfo在第%}
{{k}}:{{partInfo}}
{%endfor%}
{%endfor%}
{%endfor%}
因此,生成的页面向我显示,在没有不同分区信息的情况下:
---------------------------------
| Partition 0 | |
Disk 1 |-------------|----------|
| Partition 1 | |
---------------------------------
多亏了,我能够迭代我的JSON对象
原因是不可能在Twig中直接迭代stdClass对象。因此,我在控制器中使用的json\u decode
中添加了一个参数
要将JSON转换为stdClass对象:JSON\u decode($JSON)
要将JSON转换为关联数组:JSON\u decode($JSON,true)
有关的详细信息。您不能直接在twig中迭代对象属性(
部分
是对象,而不是数组!)。您可以更改导出的变量,使part
成为数组,也可以查询具体属性,如part.name
,part.type
。。。或者,您可以使用自定义筛选器将对象强制转换为数组,如下所述: