php – 在twig中使用merge()时,键值被’key’替换

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 在twig中使用merge()时,键值被’key’替换脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图将一对键值添加一个数组,其中所有这些属性的当前值不是以’_’开头.由于某种原因,合并将“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}) %}

脚本宝典总结

以上是脚本宝典为你收集整理的php – 在twig中使用merge()时,键值被’key’替换全部内容,希望文章能够帮你解决php – 在twig中使用merge()时,键值被’key’替换所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。