--TEST-- Twig supports array notation --TEMPLATE-- {# empty array #} {{ []|join(',') }} {{ [1, 2]|join(',') }} {{ ['foo', "bar"]|join(',') }} {{ {0: 1, 'foo': 'bar'}|join(',') }} {{ {0: 1, 'foo': 'bar'}|keys|join(',') }} {{ {0: 1, foo: 'bar'}|join(',') }} {{ {0: 1, foo: 'bar'}|keys|join(',') }} {# nested arrays #} {% set a = [1, 2, [1, 2], {'foo': {'foo': 'bar'}}] %} {{ a[2]|join(',') }} {{ a[3]["foo"]|join(',') }} {# works even if [] is used inside the array #} {{ [foo[bar]]|join(',') }} {# elements can be any expression #} {{ ['foo'|upper, bar|upper, bar == foo]|join(',') }} {# arrays can have a trailing , like in PHP #} {{ [ 1, 2, ]|join(',') }} {# keys can be any expression #} {% set a = 1 %} {% set b = "foo" %} {% set ary = { (a): 'a', (b): 'b', 'c': 'c', (a ~ b): 'd' } %} {{ ary|keys|join(',') }} {{ ary|join(',') }} --DATA-- return ['bar' => 'bar', 'foo' => ['bar' => 'bar']] --EXPECT-- 1,2 foo,bar 1,bar 0,foo 1,bar 0,foo 1,2 bar bar FOO,BAR, 1,2 1,foo,c,1foo a,b,c,d