1

この行:

{$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 "] [" Arrangement "] [" id "](Smarty_Compiler.class.php、行446)

この行:

{$data.bank_data.Arrangement.id}

エラーを返しません。正しく動作します。

では、なぜ最初のセクションが間違っているのでしょうか。[]配列にアクセスするために使用する方法。

4

1 に答える 1

1

投稿したエラーから判断すると、Smarty2を使用しています。ドキュメントには、アレイにアクセスするための2つのオプションがあります。

{* 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リストに入れました。

于 2012-06-29T15:47:16.447 に答える