我有一个多维数组

array(2) {
    [11]=> array(1) {
        ["L2J"]=> array(1) {
            ["VS7"]=> array(2) {
                ["26 Feb 2015 12:00"]=> array(2) {
                    ["C"]=> string(1) "9"
                    ["D"]=> string(1) "9"
                }
                ["26 Feb 2015 13:00"]=> array(2) {
                    ["C"]=> string(1) "9"
                    ["D"]=> string(1) "6"
                }
            }
        }
    }
}


现在我做了一些循环,现在可以访问日期了。

{% for sid, psuedos in alerts %}
    {% for psuedo, flights in psuedos %}
        {% for flight, dates in flights %}

        {% endfor %}
    {% endfor %}
{% endfor %}


现在,我正在转换一些普通的PHP代码,此时,我会

$firstDate = array_pop(array_keys($dates));


有什么办法可以在树枝上做这样的事情吗?我已经搜索过,但似乎找不到任何东西。

更新资料

这是我的最新努力,虽然似乎无法将其切成最后一个数组元素

{% set firstDate = [dates|keys]|last|slice(1) %}

最佳答案

没有Twig函数可以完全执行array_pop()的功能(返回最后一个数组元素并同时缩短数组),但是有一些方法可以单独执行它们。

鉴于:

{% set array = [1,2,3,4,5] %}


要获取最后一个元素,请使用Twig的last filter

{{ array|last }}

{# returns '5' #}


您只能使用slice filter删除最后一个元素,如下所示:slice(0,-1)

{% set array = array|slice(0,-1) %}

{# array = [1,2,3,4] #}


...或Craft without filter

{% set arrayLast = array|last %}

{% set array = array|without(arrayLast) %}

{# array = [1,2,3,4] #}

关于twig - Twig -array_pop?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28767095/

10-10 19:57
查看更多