1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- --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 array('bar' => 'bar', 'foo' => array('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
|