【发布时间】:2013-03-05 11:29:20
【问题描述】:
我正在尝试将键值对添加到数组中,并为所有不以“_”开头的属性添加当前值。出于某种原因,合并将“key”(即 slug)的值替换为字符串 'key'。
例如,当 slug 是唯一一个键不以'_'开头的属性时,
key = slug
value = something
它的行为如下:
{% for key,value in app.request.attributes.all %}
{% if '_' != key | slice(0, 1) %}
{{ dump(key) }} // string(4) "slug"
{% set params = params | merge({ key : value}) %}
{{ dump(key) }} // string(4) "slug"
{% endif %}
{% endfor %}
{{ dump(params) }} // array(1) { ["key"]=> string(9) "something" }
我已经在它们旁边添加了转储返回的内容。
最终转储返回
array(1) { ["key"]=> string(9) "something" }
在我期待的时候
array(1) { ["slug"]=> string(9) "something" }
我会说这是与Twig forgets array-keys 类似的问题,但关于该问题的结论是这是一个 mongodb 问题,我没有使用它。我正在处理请求中的属性。
由于某种原因,merge({ key : value}) 的行为类似于 merge({ 'key' : value})。
【问题讨论】:
标签: php symfony merge key twig