Функция сортировки веток, сортировка чисел от низкого к высокому

avatar
Romeo Beun
8 августа 2021 в 17:50
62
2
0

Я пытаюсь использовать функцию twig |sort, но считаю, что это довольно запутанно, чтобы понять, как сортировать числа в диапазоне от меньшего к большему.

Документация: https://twig.symfony.com/doc/3.x/filters/sort.html

Пример моего кода:

{% for duel in group %}
    {% duel.intvalue %}
{% endfor %}

Где intvalue — данные, требующие сортировки

Кто-нибудь может мне помочь

Источник

Ответы (2)

avatar
Muh Fadjar Rhomadoni
8 августа 2021 в 19:45
1

Я думаю, что документация достаточно ясна.

скажем, у вас есть массив пользователей объектов

{
    "users" : [
        {
            "name": "third",
            "age": 29
        },
        {
            "name": "first",
            "age": 2
        },
        {
            "name": "first",
            "age": 2
        },
        {
            "name": "second",
            "age": 28
        }
    ]
}
  1. сортировать данные по имени
{% for user in users|sort %}
    {{ user.name }}, 
{% endfor %}
  1. сортировать данные по возрасту
{% for user in users|sort %}
    {{ user.age }}, 
{% endfor %}
  1. сортировать данные по возрасту и показывать его имя
{% for user in users|sort((a, b) => a.age <=> b.age) %}
    {{ user.name }}, 
{% endfor %}

https://twigfiddle.com/tca0vz

Romeo Beun
9 августа 2021 в 18:03
0

Эй, спасибо, да, документация ясна, но я думаю, мне нужно было некоторое разъяснение, спасибо за этот подробный ответ.

avatar
tino.codes
8 августа 2021 в 19:43
0

Рабочий пример:

{# setup the expample #}
{% set group = [{intvalue:5},{intvalue:1},{intvalue:4},{intvalue:3},{intvalue:2}] %}

{% for duel in group|sort((a, b) => a.intvalue <=> b.intvalue) %}
    {{ duel.intvalue }}
{% endfor %}

Или посмотрите эту скрипту: https://twigfiddle.com/ru1gpd

Romeo Beun
9 августа 2021 в 18:04
0

Было бы хорошо, если бы у меня было определенное количество значений, но я не могу заранее знать, сколько у меня intvalues, спасибо.

tino.codes
9 августа 2021 в 20:28
0

Это всего лишь пример, и он будет работать с любым количеством значений int ;)

Romeo Beun
10 августа 2021 в 16:50
0

Просто для моего разъяснения и будущих читателей: я могу {% set group = Intvalues ​​%}, и это должно работать?