FORSMILE
EN
Smarty2020/06/18

Smartyで配列の要素数をcountする|0件判定と表示切り替え

Smartyテンプレートで配列の件数を数え、0件・1件以上で表示を切り替える実用例を紹介します。

ブログ一覧へ / Back to Blog
Smarty syntax guide

配列の要素数を表示する

smarty
商品は {$products|count} 件です。

0件と1件以上で表示を分ける

smarty
{if $products|count > 0}
  <p>{$products|count}件の商品があります。</p>
{else}
  <p>商品はありません。</p>
{/if}

テンプレートへ必ず配列を渡す設計にすると、未定義変数と空配列を区別する余計な分岐を減らせます。

  • PHP側で空配列を初期値にする
  • 件数を何度も使うならPHP側で用意することも検討する
  • 古い記法に依存せず、導入中のSmartyバージョンで動作確認する
Related articles