Twig - 尝试拆分数组元素

时间:2014-02-26 10:21:09

标签: php arrays symfony twig

循环遍历一个对象数组,然后尝试拆分其中一个元素,在这种情况下,我想在空间上拆分邮政编码。 IE浏览器。 'AB1 1AB'应该只是'AB1'。

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

向我抛出'数组到字符串错误'

尝试:

{{ result.postcode[0] }}

让我无法在字符串变量'错误上访问密钥[0]。

并且正在做:

{{ result.postcode }}   

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

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

2 个答案:

答案 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 %}

来源:TWIG Split filter

答案 1 :(得分:0)

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

如果您只想显示某个部分,可以使用split [first][2]过滤器或slice