• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Smartyのforeachのnameに変数を設定)

Smartyのforeachのnameに変数を設定する方法

このQ&Aのポイント
  • Smartyのforeach文において、外側のforeachのitemを内側のforeachのnameに設定する方法について教えてください。
  • 具体的には、foreachをネストして内側のforeachのindexを表示したいのですが、うまくできません。
  • ご存知の方がいらっしゃいましたら、どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kiyo_td
  • ベストアンサー率100% (1/1)
回答No.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 />

aniline
質問者

お礼

なるほど... 自分でも確認してみましたが, 名前が一緒でも新しいforeachだとindexも新しくなるんですね^^; 昔やってみて,indexがつながってしまった記憶がありましたが, どうも記憶違いだったようですね…. 大変参考になりました. ありがとうございました^^