Php 嵌套数组上的Smarty循环

Php 嵌套数组上的Smarty循环,php,foreach,smarty,Php,Foreach,Smarty,您好我想打印嵌套数组的数据,这是我的数组:$result[] 结果数组是这样构建的 foreach($pictureIds as $pressId) { $picture = PressPicture::_getItemByPressId($pressId); $result['picture'][] = $picture; $pressItem = PressItem::_fromNumber($pressId); if($pressItem) {

您好我想打印嵌套数组的数据,这是我的数组:$result[]

结果数组是这样构建的

foreach($pictureIds as $pressId) {
    $picture = PressPicture::_getItemByPressId($pressId);
    $result['picture'][] = $picture;
    $pressItem = PressItem::_fromNumber($pressId);

    if($pressItem) {
        $result['title'][] = $pressItem->getTitle();
    }
}

Array
    (
    [picture] => Array
        (
            [0] => PressPicture Object
                (
                    [id] => 21
                    [data] => Array
                        (
                            [id] => 21
                            [press_id] => 3
                            [update_time] => 1331738139
                            [ord] => 1
                        )

                    [dataLang] => 
                    [prettyClassName] => 
                )

            [1] => PressPicture Object
                (
                    [id] => 31
                    [data] => Array
                        (
                            [id] => 31
                            [press_id] => 4
                            [update_time] => 1332144196
                            [ord] => 1
                        )

                    [dataLang] => 
                    [prettyClassName] => 
                )

        )

    [title] => Array
        (
            [0] => Tetsij
            [1] => Persbericht
        )
)
如何在该阵列上循环。所以我有我的标题,还有我的照片。我试过这个

{foreach name=outer item=it from=$result}
<li>
    {foreach from=$it item=value key=key}
      {assign var=item value=$value}
      <img src="{$item->getPictureUrl('list', 180, 120, true, false, true)}" alt="{$item->getTitle()}" width="180" height="120" />
     {/foreach}
</li>
{/foreach}

我可以使用对象,但如何打印也在数组中的标题?

使用picture foreach中的键参数作为索引来访问标题数组

{foreach name=outer item=pictures from=$result.picture}
<li>
    {foreach from=$pictures item=pic key=key}
        <img src="{$pic->getPictureUrl('list', 180, 120, true, false, true)}" alt="{$result.title[$key]}" width="180" height="120" />
    {/foreach}
</li>
{/foreach}

你的当前输出是什么样子的?我的当前输出给我一张图片,因为我可以到达图片对象。但是我想要的是我的图片+标题,它也在我的$result[]数组中。你提到要将title属性添加到PressPicture类吗?似乎每个图片都可以有一个标题,因此在对象中存储标题是一种更干净的方法。结果,您没有两个要循环数据的数组,您只有一个,并且您可以通过get-Method访问标题。感谢您的回复,当以这种方式编写foreach时:我收到一个错误:致命错误:对中的非对象调用成员函数getPictureUrl。我不知道PressPicture对象实现了哪些方法:-