使用smarty模板引擎在数组内打印数组

时间:2012-12-27 13:14:47

标签: php templates foreach smarty

我有一个像这样的数组。这个数组的树结构非常大。我想使用html文件中的smarty标签打印数组。我正在使用此代码执行此操作,

在PHP文件$smarty->assign("arrForumData", $arrForumData);

中这样分配

在单个维度数组的HTML文件中。

{foreach item=foo from=$arrForumData}
{$foo.question}
{$foo.name} etc...
{/foreach}

我不知道如何在smarty中打印如下所示的数组。请指导我如何在smarty中打印多维数组。希望我的问题很明确。提前谢谢。

ARRAY

2 个答案:

答案 0 :(得分:2)

确切答案。适合我的工作。

{foreach name=outer item=v from=$arrForumData}
        {$v[0].question_id}
        {$v[0].project_id}
        {$v[0].name}
        {$v[0].email}
        {$v[0].question}
        {$v[0].created_on}

      {foreach key=key item=item from=$v[1]}
        {$item.aQId}
        {$item.aAns}
        {$item.aName}
        {$item.aEmail}
        {$item.aDate}
      {/foreach}
{/foreach}

答案 1 :(得分:1)

您可以尝试这样的事情:

{foreach key=key item=item from=$arrForumData}
  {if $item|@is_array}
    {foreach key=inner_key item=inner_item from=$arrForumData[$key]}
      {if $inner_item|@is_array}
        {foreach key=innermost_key item=innermost_item from=$arrForumData[$key][$inner_key]}
            {$innermost_item.aQId}
            {$innermost_item.aAns}
            {$innermost_item.aName}
            {$innermost_item.aEmail}
            {$innermost_item.aDate}
        {/foreach}
      {else}
        {$inner_item.question_id}
        {$inner_item.project_id}
        {$inner_item.name}
        {$inner_item.email}
        {$inner_item.question}
        {$inner_item.created_on}
      {/if} 
    {/foreach}
 {/if}
{/foreach}