如何从Twig中设置已存在的数组的成员?
我尝试下一步:
{% set arr['element'] = 'value' %}
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
在......中意外的标记"标点符号"值"["("预期结束语句块")
Pau*_*aul 198
在Twig中没有很好的办法.但是,可以使用合并过滤器:
{% set arr = arr|merge({'element': 'value'}) %}
Run Code Online (Sandbox Code Playgroud)
小智 76
我遇到了这个问题但是试图创建整数索引而不是像'element'这样的关联索引.
您还需要()使用合并筛选器来保护索引键:
{% set arr = arr|merge({ (loop.index0): 'value'}) %}
Run Code Online (Sandbox Code Playgroud)
您现在可以添加自定义索引键 ('element'~loop.index0)
ple*_*ock 19
如果初始化只需要:
{% set items = { 'apple': 'fruit', 'orange': 'fruit', 'peugeot': 'unknown' } %}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过@LivaX的答案,但它不起作用,合并键为数字的数组将不起作用(https://github.com/twigphp/Twig/issues/789)。
仅当键是字符串时才有效
我所做的是temp从初始数组 () 重新创建另一个数组 ( t) 并将键设为字符串,例如:
{% for key , value in t%}
{% set temp= temp|merge({(key~'_'):value}) %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
t键:0、1、2..
temp键:0_、1_、2_ ....