在Twig中遍历多维数组:无法展示数组键值至表格的问题
解决Twig多维数组表格渲染问题
你的问题在于直接遍历外层数组时,每个循环项是完整的对象(比如{"tipo": "1", "ganador": "2", "premio": "45"}),直接输出这个对象无法得到预期的键值内容。要生成包含所有键与值的表格,需要分表头渲染和表体数据渲染两步处理:
完整Twig代码示例
{% if array is not empty %} <table> <!-- 渲染表头:提取第一个元素的所有键 --> <tr> {% for key in array[0]|keys %} <th>{{ key }}</th> {% endfor %} </tr> <!-- 渲染表体:遍历每个元素,输出对应值 --> {% for item in array %} <tr> {% for value in item %} <td>{{ value }}</td> {% endfor %} </tr> {% endfor %} </table> {% else %} <p>暂无数据</p> {% endif %}
代码说明
- 先判断数组是否为空,避免空数组导致的报错
- 表头部分通过
array[0]|keys提取第一个元素的所有键,作为表格列标题 - 表体部分先遍历外层数组的每个对象,再遍历对象内的所有值,依次填入单元格
这样渲染后就能得到结构正确的表格,展示所有键(tipo、ganador、premio)和对应的数据行。
内容的提问来源于stack exchange,提问作者Glenda Castro
相关产品推荐
相关产品推荐

