Smarty不在tpl文件中显示数组值

时间:2013-03-05 06:16:27

标签: php arrays smarty

我想通过smarty模板创建一个XML文件。为此,我将数组传递给模板文件。这是我用来生成数组并传递的代码。

$correct_answers = explode(",", $answer['answer']);
$smarty->assign('answers', $correct_answers);

成功生成数组,并使用print_r()进行检查;但我的问题是,它在tpl文件中显示为空。如果我检查计数,则显示0.我无法获取数组值。这是模板文件代码。

{assign var = "inc" value="0"}
{section name=answer loop=$answers}
    <simpleChoice identifier="{$answers[answer]}">{$answers[answer]}</simpleChoice>         
    {assign var = "inc" value=$inc+1}
{/section}

我不知道我哪里出错了。

数组结构是,

Array
(
    [0] => Alonso
    [1] => Jenson Button
    [2] => Rubens Barrichello
)

1 个答案:

答案 0 :(得分:3)

试试这个:而不是section使用foreach

{foreach from=$answers item=answer}
    <simpleChoice identifier="{$answer}">{$answer}</simpleChoice>         
    {assign var = "inc" value=$inc+1}
{/foreach}

这类似于php中的foreach循环。

参考:http://www.smarty.net/docsv2/en/language.function.foreach