是否可以在没有 Twig 扩展的情况下按键对数组进行排序?
我有一个这样的数组:
{key1 : object1, key2 : object2...)
当我使用
{% for t in tab|sort%}
时,它给我一个按对象 ID 而不是按键排序的数组。没有 Twig 扩展就没有办法做到这一点?
最佳答案
据我所知,没有过滤器可以按数组键进行排序。
但是,如果您需要创建过滤器,您可以在扩展的 Twig 扩展文件中执行此操作,
创建函数,
public function ksort($array) {
ksort($array);
return $array;
}
Hook 可用过滤器中的功能,
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 %}
干杯