【发布时间】:2018-10-09 18:37:04
【问题描述】:
我正在尝试将哈希与 Twig 合并以输出 JSON。
我的问题是我的一些键使用数字字符串,twig 将其转换为整数。
我的代码:
{% set rows = {} %}
{% for key, val in row %}
{% set rows = rows|merge({ (key) : val }) %}
{% endfor %}
{{ { 'report': { 'metric': metric, 'rows': rows, 'tot': tot, 'min': min, 'max': max } }|json_encode|raw }}
哪些输出
{"report":{"metric":"sessions","rows":["5","4","4","3","7","4","4"],"tot":"31","min":"0","max":"7"}}
我也尝试用 number_format 替换我的键,但由于我要剥离所有非数字字符,所以输出是相同的。
{% set rows = {} %}
{% for key, val in row %}
{% set rows = rows|merge({ (key)|number_format(0,'','') : val }) %}
{% endfor %}
{{ { 'report': { 'metric': metric, 'rows': rows, 'tot': tot, 'min': min, 'max': max } }|json_encode|raw }}
预期的结果是这样的:
{"report":{"metric":"sessions","rows":{"20180423":"5","20180424":"4","20180425":"4","20180426":"3","20180427":"7","20180428":"4","20180429":"4"},"tot":"31","min":"0","max":"7"}}
有什么方法可以阻止 Twig 将我的键更改为整数?
找到这篇文章,但它对我不起作用,因为我的键是数字字符串。 key value being replaced by 'key' when using merge() in twig
【问题讨论】:
标签: php json symfony merge twig