我在PHP中有一个由22个元素组成的数组。我想使用TWIG在页面上呈现它。结构如下:
array(22) {
["Name One"]=>
array(4) {
[0]=>
string(27) "2015-04-03 - 2015-04-03 (1)"
["number"]=>
array(3) {
[0]=>
string(2) "26"
[1]=>
string(2) "26"
[2]=>
string(2) "26"
}
[1]=>
string(27) "2015-04-13 - 2015-04-15 (3)"
[2]=>
string(27) "2015-04-27 - 2015-04-27 (1)"
}
["Name Two"]=>
array(2) {
[0]=>
string(27) "2015-04-07 - 2015-04-07 (1)"
["number"]=>
array(1) {
[0]=>
string(2) "21"
}
}
(...)
我想在表格中呈现它。我希望键(名称一,名称二等)在一个单元格中,键“数字”和#39;在其他单元格中,其余的键(0,1,2等)也在单独的单元格中。我可以写{{value[0]}}
,我会得到键的值,但是数组中有不同数量的这样的键,所以我想找到列出所有键的方法。我试图这样做:
{% for key,value in workers %}
<tr><td>{{key}}</td><td>{{value[0]}}</td><td>{{value['number']}}</td></tr>
{% endfor %}
但是&#39;数字&#39;键(错误的偏移量)。基于以上结构,我想实现这样的目标:
<tr>
<td>Name One</td>
<td>2015-04-03 - 2015-04-03 (1)</td>
<td>2015-04-13 - 2015-04-15 (3)</td>
<td>2015-04-27 - 2015-04-27 (1)</td>
<td>26</td>
</tr>
<tr>
<td>Name Two</td>
<td>2015-04-07 - 2015-04-07 (1)</td>
<td>21</td>
</tr>
我怎样才能做到这一点?
答案 0 :(得分:1)
在你的结构value['number']
是一个数组,那么你应该这样做以避免错误的偏移错误:
{{value['number'][0]}}
同样正如Cerad在他的评论中所说的,还有另一个解决方案:在您的控制器中迭代您的工作人员数据(或者更好地在您的控制器调用的服务中),然后水合自定义PHP对象(DTO),这将很容易在你的视图中迭代(你将把这个dto传递给你的树枝)。