如何从数组中的条目循环到结尾?树枝/ PHP

时间:2018-10-23 12:51:53

标签: php loops twig

我已要求对一个看起来像这样的数组进行循环:

Array
(
    [0] => 215950741
    [1] => 3900
    [2] => 10527160
    [3] => 2873
...
    [44] => N~~~~
    [45] => N~~~~
    [46] => historico_estados
    [47] => 18/10/2018 16:03:09~10~Solicitada~ARANJUEZ~0~2873~   ~
    [48] => 18/10/2018 16:06:42~13~Aceptada~ARANJUEZ~0~2873~   ~
    [49] => 18/10/2018 18:15:49~3~Tránsito~SANTANDER~0~3900~   ~
    [50] => 18/10/2018 22:28:49~3~Tránsito~PLATVITORIA~0~9001~   ~
    [51] => 19/10/2018 04:19:33~3~Tránsito~PLATMADRID~0~9028~   ~
    [52] => 19/10/2018 08:15:53~2~Reparto~ARANJUEZ~0~2873~   ~
    [53] => 19/10/2018 09:37:00~1~Entregado~RECEPTOR~0~2873~   ~
)

我需要从数组的入口46到末尾循环,我已经尝试做一些事情,但是根本没有用,而且我不得不在Twig中单独做,所以我有点迷路了。我可以使用twig的last函数来获取数组的最后一个条目。但是找不到要获取最后一个条目的东西。

2 个答案:

答案 0 :(得分:3)

在树枝中,您可以使用for循环来完成此操作:

{% for i in 44..array|length-1 %}
    {{ array[i] }}
{% endfor %}

查看示例输出here

另外(感谢splash58's comment),您可以通过slice operator访问。从文档中:

{% for i in [1, 2, 3, 4, 5][start:length] %}
    {# ... #}
{% endfor %}

{{ '12345'[1:2] }} {# will display "23" #}

{# you can omit the first argument -- which is the same as 0 #}
{{ '12345'[:2] }} {# will display "12" #}

{# you can omit the last argument -- which will select everything till the end #}
{{ '12345'[2:] }} {# will display "345" #}

因此您可以完成此操作,如下所示:

{% for item in array[44:] %}
   {{ item }}
{% endfor %}

请参阅此here的示例输出。

答案 1 :(得分:0)

您可以在loop内使用for变量

{% for el in elems %}
    {% if loop.index0 > 45 %}
        {# do some stuff #}
    {% endif %}
{% endfor %}

https://twig.symfony.com/doc/2.x/tags/for.html#the-loop-variable