是否可以在不使用树枝扩展名的情况下按键对数组排序?
我有一个像这样的数组:
{key1 : object1, key2 : object2...)
当我使用{% for t in tab|sort%}
时,它给我一个按对象ID而不是按键排序的数组。
没有树枝延伸就没有办法吗?
答案 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 %}
欢呼