私はTwigを使い、私はこのようなキーを持つ配列を持っています:
array[1] = "alpha"
array[2] = "bravo"
array[3] = "charlie"
array[8] = "delta"
array[9] = "echo"
そして、この配列のすべての値を取得するために、キー(1,2,3,8,9)
とコンテンツ(alpha, bravo, charlie, delta, echo)
をループで取得したいと思います。
どうやってこの問題を解決しますか?
私は答えを見つけました:
{% for key,value in array_path %}
Key : {{ key }}
Value : {{ value }}
{% endfor %}
SensioLabページのfor
タグにこの例があります。
<h1>Members</h1>
<ul>
{% for key, user in users %}
<li>{{ key }}: {{ user.username|e }}</li>
{% endfor %}
</ul>
http://twig.sensiolabs.org/doc/tags/for.html#iterating-over-keys
私はあなたが「キーと値の反復」をしたいと思うでしょう
ドキュメント ここ が言うように、欲しい変数に "| keys"を追加するだけで魔法のように起こります。
{% for key, user in users %}
<li>{{ key }}: {{ user.username|e }}</li>
{% endfor %}
それは尋ねる前に検索するのに害はありません:)
Twigの1次元配列と2次元配列の両方に対する拡張オプションもあります。
{% for key, value in 1D_array %}
<div>{{ key }}</div>
<div>{{ value }}</div>
{% endfor %}
{% for key1, value1 in 2D_array %}
{% for key2, value2 in 2D_array[key1] %}
<div>{{ key2 }}</div>
<div>{{ value2 }}</div>
{% endfor %}
{% endfor %}
{% for key1, value1 in 2D_array %}
{% for key2, value2 in 2D_array[key1] %}
<div>{{ key2 }}</div>
<div>{{ value2 }}</div>
{% endfor %}
{% endfor %}
{% for key1, value1 in 2D_array|keys|sort %}
{% for key2, value2 in 2D_array[key1]|keys|sort %}
<div>{{ key2 }}</div>
<div>{{ value2 }}</div>
{% endfor %}
{% endfor %}
{% for key1, value1 in 2D_array|keys|sort|reverse %}
{% for key2, value2 in 2D_array[key1]|keys|sort|reverse %}
<div>{{ key2 }}</div>
<div>{{ value2 }}</div>
{% endfor %}
{% endfor %}