Smarty不显示多维数组

时间:2013-07-05 09:10:10

标签: php arrays smarty multidimensional-array

我在smarty中显示我的数组时遇到问题。看起来像这样。阵列声明:

的index.php:

$rewrites = array(
'en' => array(
'homepage' => 'homepage'
),

'de' => array(
'homepage' => 'zuhause'
),
);

$smarty->assign('rewrites', $rewrites);

在模板文件中:

{$rewrites|@print_r}
{$rewrites[de][homepage]}

第一行打印整个数组,因此分配了数组。但第二行什么都没有,为什么?怎么做得好?如果我这样做{$ rewrites.de.homepage}它可以工作但我真的需要声明我的数组值如此{$ rewrites [de] [homepage]}因为'de'来自其他变量,它定义当前语言。我的目标是{$ rewrites [$ lang] [homepage]}例如。

3 个答案:

答案 0 :(得分:0)

使用:

{$rewrites[$lang]['homepage']}

您也可以使用:

{$rewrites.{$lang}.homepage}

答案 1 :(得分:0)

试试这个:

{$rewrites.de.homepage}

答案 2 :(得分:-1)

你可以做如下{$rewrites[$lang].homepage}