我正在使用Twig而且我遇到了问题。
当我想为对象使用变量索引时,我遇到了问题。
这是我的代码:
{% for label, field in params.fields %}
{{ dump(data.field) }}
{% endfor %}
数据是一个包含{'email':'test@test.fr','name':'John'}的对象。
Field是一个包含['email','name']
的字符串数组我无法动态显示我的对象的值。
{{dump(data.email)}} 有效。
如何使用动态索引?感谢。
答案 0 :(得分:17)
在Twig语法中,data.field
等于PHP中的$data['field']
。换句话说,Twig使用field
作为数组键名,而不是使用field
变量的值并将其用作键名。
您可以使用attribute()
功能:
attribute
函数可用于访问变量的“动态”属性:
示例:
{{ dump(attribute(data, field)) }}
{# or simply #}
{{ attribute(data, field) }}