Smarty在foreach循环中分配错误

时间:2012-06-21 12:53:56

标签: smarty smarty2

好的,这是我的头脑,因为它没有意义。我有一个从php分配的数组,包含15个字符串,看起来像这样。

Array (
     [0] => 001
     [1] => 002
     [2] => 003
     [3] => 004
     [4] => 005
     [5] => 006
     [6] => 007
     [7] => 008
     [8] => 009
     [9] => 010
     [10] => 011
     [11] => 012
     [12] => 013
     [13] => 014
     [14] => 015 
)

在我的模板中,我正在尝试将填充的数字分配到字符串并输出该值。除了它没有100%工作。在循环中的第一个赋值中,该值不存在,但在后续赋值中,它使用上一个循环值中的值。

这是代码

{foreach from=$faq item="qNumber" key="qKey"}
    {$qNumber} - {$qKey} -
    {assign var="qQuestion" value="help_faqQuestion$qNumber"}
    {$qQuestion}
    <br />
{/foreach}

我的输出如下:

001 - 0 - help_faqQuestion 
002 - 1 - help_faqQuestion001 
003 - 2 - help_faqQuestion002 
004 - 3 - help_faqQuestion003 
005 - 4 - help_faqQuestion004 
006 - 5 - help_faqQuestion005 
007 - 6 - help_faqQuestion006 
008 - 7 - help_faqQuestion007 
009 - 8 - help_faqQuestion008 
010 - 9 - help_faqQuestion009 
011 - 10 - help_faqQuestion010 
012 - 11 - help_faqQuestion011 
013 - 12 - help_faqQuestion012 
014 - 13 - help_faqQuestion013 
015 - 14 - help_faqQuestion014

有没有人知道为什么会发生这种情况,因为我的想法很新鲜。

更新

出于某些原因,这可以正常输出,但我不明白为什么我不能在一个分配行中这样做。

{foreach from=$faq key="qKey" item="qNumber" }
    {assign var="num" value=$qNumber}
    {assign var="qQuestion" value="help_faqQuestion$num"}
    <li>{$qNumber} - {$qKey} - {$qQuestion}</li>
{/foreach}

2 个答案:

答案 0 :(得分:0)

我希望编辑工作

    {foreach from=$yourarray key=yourkey item=yourvalue}
       {assign var="qQuestion" value="help_faqQuestion-$yourvalue"}                         
       <li>key :-{$yourkey} -- value:-{$yourvalue} = {$qQuestion}</li>
    {/foreach}

输出如下:

key :-0 -- value:-1 = help_faqQuestion-1
key :-1 -- value:-2 = help_faqQuestion-2
key :-2 -- value:-3 = help_faqQuestion-3
key :-3 -- value:-4 = help_faqQuestion-4
key :-4 -- value:-5 = help_faqQuestion-5
key :-5 -- value:-6 = help_faqQuestion-6
key :-6 -- value:-7 = help_faqQuestion-7

答案 1 :(得分:0)

变化

{assign var="qQuestion" value="help_faqQuestion$qNumber"}

{assign var="qQuestion" value="help_faqQuestion`$qNumber`"}

你没事。