循环遍历一个对象数组,然后尝试拆分其中一个元素,在这种情况下,我想在空间上拆分邮政编码。 IE浏览器。 'AB1 1AB'应该只是'AB1'。
{% for result in resultset %}
{{ result.postcode|split(' ') }}
{% endfor %}
向我抛出'数组到字符串错误'
尝试:
{{ result.postcode[0] }}
让我无法在字符串变量'错误上访问密钥[0]。
并且正在做:
{{ result.postcode }}
没有错误,邮政编码显示为'AB1 1AB'
为什么Twig认为当我尝试拆分它时,字符串是一个数组?
答案 0 :(得分:1)
来自官方文件:
拆分过滤器按给定的分隔符拆分字符串 返回字符串列表:
{{ "one,two,three"|split(',') }}
{# returns ['one', 'two', 'three'] #}
所以,拿你的代码,你可以做类似的事情:
{% for result in resultset %}
{{ set myArray = result.postcode|split(' ') }}
{{ myArray[0] }} {# Will output "AB1" #}
{% endfor %}
答案 1 :(得分:0)
这是一个老问题,但真正的问题是您要求Twig
使用{{...}}
块显示拆分结果。您应该使用{%...%}
块和set
标记,如documentation中所述。
如果您只想显示某个部分,可以使用split
[first][2]
过滤器或slice。