我想知道为什么这不起作用
{% set what = 'hate' %}
{% set byValue = 'like' %}
{{ 'I hate twig'|replace( { what : byValue } ) }}
它应该显示I like twig
不是吗?
答案 0 :(得分:2)
用括号括起钥匙,Twig将其视为变量:
{{ 'I hate twig'|replace({ (what): byValue }) }}
答案 1 :(得分:2)
使用Twig创建关联数组的语法是:
{key1: value1, key2: value2, 'key3': value3, (key4): value4}...
请注意:
key1和key2是HASH KEYS
' KEY3'是一个字符串
(key4)是一个EXPRESSION(它评估你的key4变量)
value1 ... value4是变量
HASH KEYS基本上被视为字符串。
那么,你的数组:
{ what : byValue }
将使用what
键创建一个数组,而不是what
变量的内容。如果你想使用表达式而不是哈希键,你只需要用括号包装你的哈希键(甚至是一个数字)。
{ (what) : byValue }
答案 2 :(得分:0)
应该
{{ 'I hate twig'|replace( { what : byValue } )) }}
是
{{ 'I hate twig'|replace( { what : byValue } ) }}