这一行:
{$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}
不会返回错误。它工作正常。
那么,为什么第一部分是错的呢?如何使用[]
访问数组。
答案 0 :(得分:1)
从您发布的错误判断,您正在使用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中)。不过,把它扔在了待办事项列表上。