在smarty中访问嵌套数组

时间:2014-12-15 10:35:45

标签: php smarty

我正在尝试使用smarty访问html代码中的嵌套数组。例如,我有一个如下所示的数组:Array(customer)[name,age,id [firstname,lastname,birthdate]]。我一直在尝试这样的事情:

{foreach from=$customer item=foo} 
    Customer id: {$foo.id} 
{/foreach}

但是这个doesent会打印任何值到页面。 但是使用这种语法

{foreach from $customer item=foo}
    {$foo.id} // or {$foo.id.0}
{/foreach}

打印出来:数组

如何使用smarty访问嵌套数组的值?

2 个答案:

答案 0 :(得分:0)

试试这个:

{foreach from=$customer item=foo} 
    Customer name: {$foo.id.firstname} {$foo.id.lastname}
{/foreach}

Smarty会将其编译为等同于:

的东西
foreach ($customer as $foo) {
   echo('Customer name: '.$foo['id']['firstname'].' '.$foo['id']['laststname']);
}

答案 1 :(得分:0)

你的$ foo.id是一个实际的数组,所以你也应该迭代它。

{foreach from=$customer item=foo} 
    Contained values: {$foo.id.firstname} {$foo.id.lastname} {$foo.id.birthdate}
{/foreach}