sort

New in version 2.12: The arrow argument was added in Twig 2.12.

The sort filter sorts an array:

{% 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:

{% 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

© 2009–2018 by the Twig Team
Licensed under the three clause BSD license.
The Twig logo is © 2010–2020 Symfony
https://twig.symfony.com/doc/2.x/filters/sort.html