首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >聪明的语法错误不能使用符号[]

聪明的语法错误不能使用符号[]
EN

Stack Overflow用户
提问于 2012-06-29 06:46:19
回答 1查看 168关注 0票数 1

这一行:

代码语言:javascript
复制
{$data["bank_data"]["Arrangement"]["id"]}

返回以下错误:

PHP (5.3.9)错误(E_USER_ERROR): 文件: Smarty.class.php 行: 1092 类型: Smarty :在tke-g-admin_temeofwork.tpl第10行:语法错误:无法识别的标记:$data"bank_data"“身份”

这一行:

代码语言:javascript
复制
{$data.bank_data.Arrangement.id}

不返回错误。它工作正常。

那么,为什么第一部分是错误的呢?如何使用[]访问数组。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-29 15:47:16

从您发布的错误判断,您使用的是Smarty2。博士们为您提供了两个访问数组的选项:

代码语言:javascript
复制
{* for string indexes *}
{$some.array.value}
{* for numeric indexes *}
{$some[0][1]}

可以使用变量提供如下所示的索引

代码语言:javascript
复制
{assign var="key" value="array"}
{$some.$key.value} == {$some.array.value}

使用该“技巧”,您还可以访问包含“特殊字符”的字符串索引,例如.[]或。

在这种情况下,Smarty3更灵活一些:

代码语言:javascript
复制
{$some.{"hello world"}.array["array"]['foo']}

奇怪的是,没有正确地解析{$foo[bar]} (在Smarty3.1.10中)。不过,把它扔到了待办事项清单上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11257244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档