我有一个像这样的方法的对象:$foo->getId()返回一个integer,我有一个像这样的数组:
$array(
1=> array(
"parent_id" => 14
),
2=> array(
"parent_id" => 15
)
);
Run Code Online (Sandbox Code Playgroud)
我需要parent_id使用$foo->getId()as索引键在smarty中访问子数组$array,例如:
{$array[$foo->getId()].parent_id}
Run Code Online (Sandbox Code Playgroud)
也尝试过:
{$array[$foo->getId()]}
Run Code Online (Sandbox Code Playgroud)
但两者都返回错误:
syntax error: unidentified token
Run Code Online (Sandbox Code Playgroud)
我做得不对劲?
你可以试试:
{$array.$foo->getId().parent_id}
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,我认为你必须事先将ID分配给另一个变量:
{assign var=foo_id value=`$foo->getId()`}{$array.$foo_id.parent_id}
Run Code Online (Sandbox Code Playgroud)
在Smarty 3中,这应该有效:
{$array.{$foo->getId()}.parent_id}
Run Code Online (Sandbox Code Playgroud)