【Smarty】連想配列のデータをテンプレートにセットする
Smartyで連想配列のデータをテンプレートにセットする場合、assignメソッドへの第一引数に名前を指定することなく、そのまま渡すことでテンプレートへ値を埋め込むことが出来ます。
(Smarty 3.1, PHP 7.4.4)
1. (通常)assignを使用して変数をテンプレートへ埋め込む場合
$smarty->assign('name', 'ken');
変数名、$nameとしてテンプレートから利用することが出来る
<p>name: {$name}</p>
2. 連想配列をassignでセットする
PHPの連想配列とは、キー(添字)と値の組み合わせでデータを格納するデータ形式のこと
「キー => 値」の形式でひとつの配列の中に複数組みのデータを格納する。
$person = [ 'name' => 'ken', 'age' => 32, 'gender' => 'male' ]; $smarty->assign($person);
対象の配列データのみをassignにセットするだけで、テンプレート側からは変数名に「$配列のキー」を指定することで値を取り出すことが出来る。
<p>name: {$name}</p> <p>age: {$age}</p> <p>gender: {$gender}</p>
(表示結果)
name: ken
age: 32
gender: male