php – 在twig中使用merge()时,键值被’key’替换
发布时间:2020-12-13 13:51:37 所属栏目:PHP教程 来源:网络整理
导读:我试图将一对键值添加到一个数组,其中所有这些属性的当前值不是以’_’开头.由于某种原因,合并将“key”(即slug)的值替换为字符串’key’. 例如,当slug是键中没有以’_’开头的唯一属性时, key = slugvalue = something 它的行为如下: {% for key,value in
我试图将一对键值添加到一个数组,其中所有这些属性的当前值不是以’_’开头.由于某种原因,合并将“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}).
您需要用括号包装变量才能将其用作键.
{% set params = params | merge({ (key) : value}) %} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |