【发布时间】:2015-09-20 05:52:54
【问题描述】:
我对 Smarty 有意见。我必须引用具有特定键的数组。让我解释。此字符串包含我想要的 值:
{$array1.something[$key].id}
同时这个另一个包含 key:
{$array2.something[$key].id}
我想以这种方式将它们结合起来:
{$array1.something[$array2.something[$key].id].id}
相信我,它在 PHP 中运行良好,但我无法在 Smary 中翻译此逻辑,因为它给了我一个致命错误。
致命错误:Smarty 错误 - 语法错误:无法识别的标签:Smarty.class.php 中的 $array1.something[$array2.something[$key].id].id(Smarty_Compiler.class.php,第 448 行)第 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
如您所知,这只是一个语法错误。我应该如何写这个声明?
【问题讨论】:
-
它应该是
{$array1.something[{$array2.something[$key].id}].id},或者如果不是,那么试试$key1 = {$array2.something[$key].id}; {$array1.something[$key1].id};