好的,這是我的目標,因爲它沒有任何意義。我有一個包含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}
根本不是。第一行仍然沒有附加「001」,第二行仍然附加了「001」而不是「002」,依此類推。 – SynackSA
試試這個編輯的代碼 –
這根本不適用於我。你用什麼版本的聰明人?我在2.2 – SynackSA