2012-06-21 87 views
0

好的,這是我的目標,因爲它沒有任何意義。我有一個包含15個字符串的php分配的數組,看起來像這樣。Smarty在foreach循環中分配錯誤

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 

沒有人有任何想法,爲什麼這可能發生,因爲我是新鮮的想法。

UPDATE

出於某種原因ARB,這部作品併產生正確的輸出,但我不明白爲什麼我不能這樣做在一個分配行。

{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

我希望這EDIT workd

{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 
+0

根本不是。第一行仍然沒有附加「001」,第二行仍然附加了「001」而不是「002」,依此類推。 – SynackSA

+0

試試這個編輯的代碼 –

+0

這根本不適用於我。你用什麼版本的聰明人?我在2.2 – SynackSA

0

變化

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

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

你很好。