Twig - 对象使用变量键

时间:2016-08-04 15:37:05

标签: php twig

我正在使用Twig而且我遇到了问题。

当我想为对象使用变量索引时,我遇到了问题。

这是我的代码:

{% for label, field in params.fields %}
    {{ dump(data.field) }}
{% endfor %}

数据是一个包含{'email':'test@test.fr','name':'John'}的对象。

Field是一个包含['email','name']

的字符串数组

我无法动态显示我的对象的值。

{{dump(data.email)}} 有效。

如何使用动态索引?感谢。

1 个答案:

答案 0 :(得分:17)

在Twig语法中,data.field等于PHP中的$data['field']。换句话说,Twig使用field作为数组键名,而不是使用field变量的值并将其用作键名。

您可以使用attribute()功能:

  

attribute函数可用于访问变量的“动态”属性:

示例:

{{ dump(attribute(data, field)) }}
{# or simply #}
{{ attribute(data, field) }}