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

时间:2017-02-16 17:40:32

标签: php smarty3 smarty2

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

喜欢

$arImagePath[TE] = 'XYZ';

在我的.tpl中 {$carnumber}正在给予' T'并且{$carinitial}正在给予E'。

我正在努力获得价值' XYZ'如下

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

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

smarty版本-2.6.26

希望得到任何帮助。

1 个答案:

答案 0 :(得分:1)

来自documentation(Smarty v2):

  

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

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

  

{$ foo.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