Warning Twig version 2.x is no longer maintained.
sort
2.12
The arrow
argument was added in Twig 2.12.
The sort
filter sorts an array:
1 2 3
{% for user in users|sort %}
...
{% endfor %}
Note
Internally, Twig uses the PHP asort function to maintain index association. It supports Traversable objects by transforming those to arrays.
You can pass an arrow function to sort the array:
1 2 3 4 5 6 7 8 9 10 11
{% set fruits = [
{ name: 'Apples', quantity: 5 },
{ name: 'Oranges', quantity: 2 },
{ name: 'Grapes', quantity: 4 },
] %}
{% for fruit in fruits|sort((a, b) => a.quantity <=> b.quantity)|column('name') %}
{{ fruit }}
{% endfor %}
{# output in this order: Oranges, Grapes, Apples #}
Note the usage of the spaceship operator to simplify the comparison.
Arguments
arrow
: An arrow function