具有smarty变量的数组索引不起作用

问题描述 投票:1回答:1

我在.php文件中创建了数组变量

喜欢

$arImagePath[TE] = 'XYZ';

在我的.tpl {$carnumber}给'T'和{$carinitial}给'E'。

我试图获得值'XYZ'如下

{$arImagePath[{$carnumber}+{$carinitial}]}

我尝试了很多组合仍然无法获得数组值。

聪明的版本-2.6.26

希望得到任何帮助。

php smarty3 smarty2
1个回答
1
投票

来自documentation(Smarty v2):

{$ foo [bar]} < - 语法仅在节循环中有效,请参阅{section}

所以,如果你想直接访问数组变量并且你不在循环中,你必须这样做:

{$ foo.bar} < - 显示数组的“bar”键值,类似于PHP $ foo ['bar']

现在,归档您需要的内容:

// This assignment could change dynamically
{assing var="carnumber" value="T"}
{assing var="carinitial" value="E"}
// For the sake of clarity, I'm going to concat in one variable the above assignments
{assing var="index" value=$carnumber|cat:$carinitial}

//Now access the array at the index we need
{$arImagePath.$index} // XYZ
© www.soinside.com 2019 - 2024. All rights reserved.