duan117890
2014-12-15 10:35
浏览 90
已采纳

在smarty中访问嵌套数组

I am trying to access a nested array inside html code using smarty. For example i have an array that looks like this: Array(customer)[name, age, id[firstname, lastname, birthdate]]. I have been trying something like this:

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

But this doesent print any values to the page. However with this syntax

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

It prints out: Array

How do i access the values of nested array using smarty?

图片转代码服务由CSDN问答提供 功能建议

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

  {foreach from = $ customer item = foo} 
客户ID:{$ foo.id} 
 {/ foreach} \  n   
 
 

但是这个doesent会打印页面的任何值。 但是,使用此语法

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

它打印出来:数组

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

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dounao1856 2014-12-15 10:39
    已采纳

    Try this:

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

    Smarty will compile it to something equivalent with:

    foreach ($customer as $foo) {
       echo('Customer name: '.$foo['id']['firstname'].' '.$foo['id']['laststname']);
    }
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • download12749 2014-12-15 10:40

    Your $foo.id is an actual array, so you should iterate over it as well.

    {foreach from=$customer item=foo} 
        Contained values: {$foo.id.firstname} {$foo.id.lastname} {$foo.id.birthdate}
    {/foreach}
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题