我和Smarty有问题。我要引用一个带有特定键的数组。让我解释。此字符串包含我想要的值:
{$array1.something[$key].id}
同时另一个包含键:
{$array2.something[$key].id}
我希望以这种方式结合它们:
{$array1.something[$array2.something[$key].id].id}
相信我,它在PHP中完美运行,但我无法在Smary中翻译这个逻辑,因为它给了我一个致命的错误。
致命错误:Smarty错误 - 语法错误:无法识别的标签:$ array1.something [$ array2.something [$ key] .id] .id(Smarty_Compiler.class.php,第448行),位于Smarty.class.php上第1094行
让我试着通过一个例子让它变得更加简单。
1. {$array2.something[$key].id} returns 18 (the key)
2. {$array1.something[$array2.something[$key].id].id} then would be {$array1.something[18].id}
3. {$array1.something[18].id} should return 999 (the value) but instead of this it gives me a fatal error
如您所知,这只是一个语法错误。我该怎么写这个陈述?
答案 0 :(得分:0)
检查{assign}
http://www.smarty.net/docs/en/language.function.assign.tpl
make keyVal
= 18
{assign "keyVal" $array1.something[$key].id}
然后输出您想要的值
{$array1.something[$keyVal].id}