2016-03-21 10 views
1

kann mir jemand sagen, warum funktioniert das nicht? i nicht als (1, 2 oder 3) erkannt, aber wie ein i:Zweig für Schleife über ein Array

{% set test = '' %} 
    {% for i in range(0,2) %} 
    {% set test = test ~ ' ' ~ myArray.i %} 
    {% endfor %} 

Hier mein Array ist:

array:3 [▼ 
    0 => "test " 
    1 => "test " 
    2 => "test " 
] 
+0

Was ist die Struktur von 'myArray'? Es scheint, als ob seine Schlüssel keine Indizes von 0 bis 2 enthalten. – hasumedic

+0

was ist die Ausgabe – darkomen

+1

Versuchen Sie '' myArray [i] ''. – eRIZ

Antwort

0

Um ‚i-te Element eines Arrays Sie müssen Verwenden Sie Klammern wie myArray[i].

Auch als eine Verbesserung können Sie einfach for i in 0..2 in Zweig anstelle von Bereich (http://twig.sensiolabs.org/doc/templates.html#other-operators) verwenden.

+0

Ja, danke, aber ich habe eine Frage, in meiner Schleife, wenn ich a: {% set test = test | ersetzen ({i: myArray [i]})% i -> ist eine Zahl in der Zeichenkette ... Ich fand heraus, dass es nicht ersetzt wird, aber wenn eine schreiben ein {% set test = test | ersetzen ({2: myArray [i]})%} zum Beispiel zu testen, es funktioniert .. –

+2

Versuchen Sie: '' {(i): myArray [i]} ''. – eRIZ

+0

Vielen Dank, ich habe das nirgends im Doc gefunden :( –