Smartyで配列の要素数を使用する
※実経験の記憶を頼りに自宅の PC 環境(VMWareなど)で再現している内容もあるのでご注意下さい
2008-11-26
Smarty 上で配列や連想配列の中身をループさせて使う機会は多いのですが、いざループを通さずに制御したい場合にどうしようかと考えました。スクリプト内では count() 関数を利用することが多いと思うのですが、Smarty の標準関数にないかと調べたところ、@count で配列の要素数を算出することが可能のようです。
// 要素数の表示
{assign var="num" value=$arrList@count}
{$num}
// 分岐で使用する場合
{if $arrList@count > 0}
{/if}
ビュー側を表示する前にスクリプトで制御しておけばいいのですが、Smarty は想像以上に小回りがききます。最近はフレームワークも多くて Smarty が使われる機会も減っているのでしょうか?開発現場とかどうなんだろ。
関連記事
上記の記事に関連する記事(最新の10件)です。


