Smartyで空の配列を宣言する方法

Smarty3を使うと、お手軽に空の配列を宣言することができます。

{assign var=myArray value=[]}

ところがSmarty2以下だとこの方法が使えません。 そこで、パイプを使って次のように記述すると、Smarty2以下でも空の配列が宣言できます。

{assign var=myArray value=","|explode:"a":-1}

これは、PHP5.1.0から可能になった、3番目の引数$limitに負の数を指定できるようになったことで可能になったテクニックです。

explode関数

空の文字列 ("") が delimiter として使用された場合、 explode() は FALSE を返します。
delimiter に引数 string に含まれていない値が含まれている場合は、 limit が負の値なら
空の配列、そうでなければ 引数 string を含む配列を返します。

ですので、上の例にある「a」という引数や、「-1」というのは簡単な例として指定しただけで、上記ルールさえ満たしていれば他の文字や負の数値でも大丈夫ですよ。

このページをシェアする

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

2011-03-29