Edit on GitHub
Jump to docs navigation

Twig Components / Methods / sort

sort(arrow = null) is a Twig filter to sort 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

Source: Twig



Edit this page on GitHub
Couldn't find what you were looking for? We are happy to help you in the forum, on Slack or on Github.