如何在循环之外获取Twig数组中某个键的值

3

我有一个状态数组和一个数字,格式如下:

(状态,数量)

states=[
'ACT' => 25,
'NSW' => 45,
'VIC' => 18,
'SA'  => 12
]

我试图在twig中获取每个州的值(循环外部)。
因此,对于每个州(作为动态参数),我需要获取“count”值:
{{ attribute(states, state_name).count }}

或者

{{ attribute(states, count)}}

但是它不能工作。

有任何想法吗?

编辑: 这段代码可以工作,但无法从循环中获取值。 在这段代码中,我需要运行循环多次。

{% for state in states %}
   {% if state.state_name == state_name %}
       ({{ state.count }})
   {% endif %}
{% endfor %}

类似于 {{ attribute(states, state_name) }} 这样的东西? - aghidini
1
{{ states[state_name] }} - jeroen
抱歉,它们中没有一个有效。 - Ashkan
1个回答

2

没有名为count的变量,你只有一个键-值数组,其中值是计数。您可以使用attribute来获取该值:

{{ attribute(states, state_name) }}

或者,正如Jeroen所评论的那样:
{{ states[state_name] }}

count 是数组 [state_name, count] 中键的名称。 - Ashkan
@Ashkan 我的意思是你只有一个键值数组,其中键是 state_name,值是 count,因此要获取“count”,你只需获取该值:states[state_name] - aghidini
{{ states[state_name] }} 这可能会导致 "ErrorException: Array to string conversion" 错误。 - ZenithS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接