Symfony / TWIG,按键对数组进行排序

时间:2018-10-25 07:27:37

标签: sorting twig

是否可以在不使用树枝扩展名的情况下按键对数组排序?

我有一个像这样的数组:

{key1 : object1, key2 : object2...)

当我使用{% for t in tab|sort%}时,它给我一个按对象ID而不是按键排序的数组。

没有树枝延伸就没有办法吗?

1 个答案:

答案 0 :(得分:3)

据我所知,没有过滤器可以按数组键进行排序。

但是,如果需要创建过滤器,则可以在扩展的Twig扩展文件中这样做,

创建函数

public function ksort($array) {
    ksort($array);        
    return $array;
}

将功能钩在可用的过滤器中,

public function getFilters() {
    $this->filters['ksort'] = new \Twig_SimpleFilter('ksort', array($this, 'ksort'));        
    return $this->filters;
}

然后调用过滤器

{% for a in array | ksort %}
    <h2>{{ a }}</h2>   
{% endfor %}    

欢呼