0

好的,这让我很头疼,因为它没有任何意义。我有一个从 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% 工作。在循环中的第一次分配中,该值不存在,但在随后的分配中,它使用前一个循环中的值 value

这是代码

{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}
4

2 回答 2

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
于 2012-06-21T13:25:30.117 回答
0

改变

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

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

你很好。

于 2012-06-22T14:34:56.247 回答