2013-08-09 10 views
25

Jaki jest najkrótszy (i najczystszy) sposób dodawania przecinka po każdym elemencie listy oprócz ostatniego?Lista oddzielonych przecinkami w gałązce

W tym przykładzie zostanie dodany przecinek po wszystkich liniach, łącznie z ostatnim.

+0

masz na myśli przecinek w tym ostatnim lub wykluczający ostatni? – vee

+0

Chcę mieć listę oddzielaną przecinkami, więc wykluczam ostatnią. – DmitryR

Odpowiedz

65

Nie wiem o najkrótszym, ale może to być jasne. Spróbuj wykonać następujące czynności, aby dodać przecinek po wszystkich linii w pętli z wyjątkiem ostatniego:

{% for role in user.roles %} 
    {{ role.name }} 
    {% if not loop.last %},{% endif %} 
{% endfor %} 
+0

dziękuję, gdybym wiedział, że wcześniej ... –

+0

To nie działa z '{% dla pętli jeśli statystyki%}' – maches

+7

Może to trochę posprzątać z '{{not loop.last? ','}} ' – Roeland

16

Działa z Symfony 2.3.x ale powinien działać z każdą wersją 2.x:

{{ user.roles|join(', ') }} 
+4

To nie zadziała: user.roles to tablica ** obiektów **. – DmitryR

+2

działa idealnie na tablicę – c33s

+1

Oh perfect, to działa w Twig dla OctoberCMS. – igneosaur

Powiązane problemy