Php 嵌套数组上的Smarty循环
您好我想打印嵌套数组的数据,这是我的数组:$result[] 结果数组是这样构建的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) {
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对象实现了哪些方法:-