好的,这是我的头脑,因为它没有意义。我有一个从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}
答案 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`"}
你没事。