在smarty中使用foreach中带有变量名的指定数组

时间:2013-04-20 16:04:48

标签: php variables foreach smarty

我在我的PHP程序中分配了一个数组,这个smarty变量的名称是可变的,

while ($order=mysql_fetch_object($orderQuery){
   while ($res = mysql_fetch_object($query)) {
      $smarty->append("v".$order->id,$res);
   }
   $smarty->append("order",$order);
}

然后在我的.tpl文件中我使用此代码:

{foreach $order as $o}
   Order id is : {$o->id}
   {foreach $v|cat:$o->id as $a}
      <a href="#">{$a->name}</a>
   {/foreach}
   <br />
{/foreach}

$o工作没有任何问题,我可以显示订单ID,但内部foreach不起作用,我没有收到任何错误!

有什么问题?

1 个答案:

答案 0 :(得分:0)

我找到了正确的方法: - )

我应该在smarty中使用变量变量,所以我将模板更改为:

{foreach $order as $o}
   Order id is : {$o->id}
   {assign vo 'v'|cat:$o->id}
   {foreach ${$vo} as $a}
      <a href="#">{$a->name}</a>
   {/foreach}
   <br />
{/foreach}