Symfony2 - 如何迭代Twig中的关联数组并消除重复?

时间:2014-01-28 18:19:49

标签: arrays symfony twig

我正在处理一个与Docrtrine映射的报告我有一个实体DL01,我想访问特定的数组密钥&值以下列格式显示输出

DL01_data的我的关联数组{{Dump()}}位于

之下
array(2) { 
 [0]=> array(4) { 
         ["zoneName"]=> string(10) "DENMARK"
         ["rank"]=> int(85)
         ["actSanctList"]=> NULL 
         ["offDate"]=> object(DateTime)#5717 (3) { ["date"]=> string(19) "2010-10-25 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/Berlin" } } 

我的控制器返回此

return $this->render('TestBundle:Test:DL01.html.twig', array('form' => $form->createView(), 'DL01_data' => $DL01));

我希望以下面的格式在twig中显示报告的结果,以便将记录组合​​在一起并在嵌套的for循环中一个接一个地显示。 (见图片)

当前输出 enter image description here

如何将记录组合​​在一起以这种格式嵌套,从而消除重复?

enter image description here

枝条 我正在以这种方式在Twig中显示报告

    {% for DL01_line in DL01_data %}
        <tr>
             <td> {{ DL01_data[0].zoneName }} </td>
             <td> {{ DL01_data[0].Rank }} </td>
            <td>{{ DL01_line.actSanctList }}</td>
            <td>{{ DL01_line.offDate|date('Y-m-d') }}</td>
        </tr>
    {% endfor %}

1 个答案:

答案 0 :(得分:1)

您可以使用DL01_data[0]

来引用数组索引
{{ DL01_data[0].zoneName }}

或者这个:

{{ DL01_data[0]['zoneName'] }}

用于迭代整个数组,包含所有键和值:

{% for data in DL01_data %}
    {{ data.zoneName }}
{% endfor %}

它在PHP中像foreach循环一样工作。 或者,如果您只需要从0到99的索引迭代:

{% for data in DL01_data|slice(0,99) %}
    {{ data.zoneName }}
{% endfor %}