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 の連想配列アクセスは、{ $配列名.添字(キー) }
・複数の配列アクセスは、{ $配列名.添字(キー)[$配列名.添字(キー)] }