繁体   English   中英

在smarty中使用foreach中的分配数组和变量名

[英]Use assigned array in foreach with variable name in smarty

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

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不起作用,并且我没有收到任何错误!

问题是什么 ?

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

我应该在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}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM