树枝 - 尝试拆分数组元素



我循环访问一个对象数组,然后尝试拆分其中一个元素,在这种情况下,我想拆分空间上的邮政编码。即。"AB1 1AB"应该只是"AB1"。

{% for result in resultset %}
            {{ result.postcode|split(' ') }}
    {% endfor %}

抛给我一个"数组到字符串错误"

尝试只是:

{{ result.postcode[0] }}

给我抛出一个"无法访问字符串变量上的密钥 [0]"错误。

只是做:

{{ result.postcode }}   

没有给我错误,邮政编码显示为'AB1 1AB'

为什么当我尝试拆分字符串时,Twig 认为字符串是一个数组?

来自官方文档:

拆分

筛选器通过给定的分隔符拆分字符串,并且 返回字符串列表

{{ "one,two,three"|split(',') }}
{# returns ['one', 'two', 'three'] #}

因此,使用您的代码,您可以执行以下操作:

{% for result in resultset %}
    {{ set myArray = result.postcode|split(' ') }}
    {{ myArray[0] }} {# Will output "AB1" #}
{% endfor %}

来源:TWIG分体式过滤器

这是一个

古老的问题,但真正的问题是你要求Twig使用{{...}}块显示拆分的结果。您应该使用 {%...%} 块和 set 标记,如文档中所述。

如果只想显示某个部分,则可以使用带有[first][2]过滤器或切片的split

最新更新