这一行:
{$data["bank_data"]["Arrangement"]["id"]}
返回以下错误:
PHP(5.3.9)错误(E_USER_ERROR): 文件:Smarty.class.php 行:1092 类型:Smarty错误:[在tke-g-admin_scopeofwork.tpl第10行]:语法错误:无法识别的标签:$ data [“bank_data”] [“安排”] [“id”](Smarty_Compiler.class.php,第446行) )
这一行:
{$data.bank_data.Arrangement.id}
不会返回错误。它工作正常。
那么,为什么第一部分是错的呢?如何使用[]
访问数组。
从您发布的错误来看,您正在使用Smarty2。 The Docs为您提供了两种访问数组的选项:
{* for string indexes *}
{$some.array.value}
{* for numeric indexes *}
{$some[0][1]}
你可以使用变量来提供这样的索引
{assign var="key" value="array"}
{$some.$key.value} == {$some.array.value}
使用“技巧”,您还可以访问包含“特殊字符”的字符串索引,如.
,[]
或。
Smarty3以这种方式更灵活:
{$some.{"hello world"}.array["array"]['foo']}
奇怪的是,{$foo[bar]}
没有被正确解析(在Smarty 3.1.10中)。尽管如此,在todo列表上扔了它。