smartyで多次元配列の活用
配列名$hoge_dataで設定した値を配列名$hoge_baseから抽出する
—————–
配列名$hoge_base
Array(
[title] => Array(
[1] => "かえる"
[2] => "ねこ"
[3] => "おおかみ"
[4] => "ひつじ"
[5] => "にわとり"
)
[name] => Array(
[1] => "水嶋"
[2] => "鈴木"
[3] => "八木"
[4] => "沢里"
[5] => "佐々木"
)
)
—————–
配列名$hoge_data
Array(
[title] => "3"
[name] => Array(
[0] => "1"
[1] => "3"
)
)
—————–
■titleを表示する
<p>title:<ここにtitle用↓のsmartyを記述する></p>
{ $hoge_array.title[$hoge_data.title]}
↓出力される
<p>title:おおかみ </p>
■nameを表示する
<p>name:<ここにname用↓のsmartyを記述する></p>
{ foreach name=hoge_array key=hogekey item=hogeitem from=$hoge_data.name }
{ $hoge_base.name.$hogeitem }{ if !$smarty.foreach.hoge_array.last}☆{ /if }
{ /foreach }
↓出力される
<p>name:水嶋☆沢里</p>
複数あって間に何か入れるように↓
{? if !$smarty.foreach.hoge_array.last?}☆{? /if ?}
を追加してます
ポイント
・smarty の連想配列アクセスは、{ $配列名.添字(キー) }
・複数の配列アクセスは、{ $配列名.添字(キー)[$配列名.添字(キー)] }