- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Smartyのforeachのnameに変数を設定)
Smartyのforeachのnameに変数を設定する方法
このQ&Aのポイント
- Smartyのforeach文において、外側のforeachのitemを内側のforeachのnameに設定する方法について教えてください。
- 具体的には、foreachをネストして内側のforeachのindexを表示したいのですが、うまくできません。
- ご存知の方がいらっしゃいましたら、どうぞよろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。簡単なサンプルを書いて見ました。 参考になりますでしょうか。 ■test.php <?php require_once './libs/Smarty.class.php'; $smarty = new Smarty(); $data = array( array("a1","a2","a3"), array("b1","b2","b3"), array("c1","c2","c3") ); $smarty->assign('data', $data); $smarty->display('test.tpl'); ?> ■test.tpl {foreach from=$data item="item" name="name"} {foreach from=$item item="item2" name="name2"} {$smarty.foreach.name2.index} : {$item2}<br /> {/foreach} <hr /> {/foreach} ■出力 0 : a1<br /> 1 : a2<br /> 2 : a3<br /> <hr /> 0 : b1<br /> 1 : b2<br /> 2 : b3<br /> <hr /> 0 : c1<br /> 1 : c2<br /> 2 : c3<br /> <hr />
お礼
なるほど... 自分でも確認してみましたが, 名前が一緒でも新しいforeachだとindexも新しくなるんですね^^; 昔やってみて,indexがつながってしまった記憶がありましたが, どうも記憶違いだったようですね…. 大変参考になりました. ありがとうございました^^