FORSMILE
EN
Twig2021/01/25

Twig for文の使い方|配列ループ・key/value・loop変数・else

Twigのfor文で配列を繰り返す基本、key/valueの取得、loop.index・first・last、空配列時のelseまで実例で解説します。

ブログ一覧へ / Back to Blog
Quick Answer / まず結論

Twig for文の最短チェック

Twigのループは {% for item in items %} ... {% endfor %} が基本です。キーも必要な時は {% for key, item in items %} を使います。

Twig syntax guide

Twig for文の基本

twig
{% for product in products %}
  <h3>{{ product.name|e }}</h3>
  <p>{{ product.price|number_format }}円</p>
{% else %}
  <p>商品はありません</p>
{% endfor %}

forに続けてelseを書くと、対象が空の時の表示も同じブロック内で管理できます。

keyとvalueを同時に取得する

twig
{% for code, label in categories %}
  <option value="{{ code|e('html_attr') }}">{{ label|e }}</option>
{% endfor %}

loop変数で番号・先頭・末尾を判定する

twig
{% for item in items %}
  <li class="{{ loop.first ? 'is-first' : '' }}">
    {{ loop.index }}. {{ item.name|e }}
    {% if loop.last %}<span>最後</span>{% endif %}
  </li>
{% endfor %}
  • loop.indexは1始まり、loop.index0は0始まり
  • loop.firstとloop.lastで先頭・末尾を判定
  • 表示件数を絞る時はPHP側や取得処理側での制御も検討する
Related articles