从smarty中的foreach循环中获得前3个结果

时间:2009-11-06 10:01:32

标签: php smarty

我有一个数组可以循环使用smarty。我的数组看起来像这样: 阵列(    [0] =>(       [title] ='有些头衔'       [url] ='图片网址'    ) )......

我将它循环到文件.tpl中,我只想从这个数组得到前3个结果。我的数组的项目数大于3.我是一个聪明的初学者,有人帮我修复这个问题。 非常感谢你阅读我的情况!!

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

我对Smarty一无所知,但是......

...如果您只对大数组的前三个元素感兴趣,为什么不使用for循环而不是foreach?

答案 2 :(得分:0)

如果这是您发布的数组:


$array = array( array('title' => 'title1', 'url' => 'url 1'),
                      array('title' => 'title2', 'url' => 'url 2'),
                      array('title' => 'title3', 'url' => 'url 3'),
                      array('title' => 'title4', 'url' => 'url 4'),
                      array('title' => 'title5', 'url' => 'url 5'));

你可以使用'section'和'max'属性循环显示前3个结果:


{section name=id loop=$array max=3}
    Title {$smarty.section.id.iteration}: {$array[id].title} 
URL {$smarty.section.id.iteration}: {$array[id].url}
{/section}

答案 3 :(得分:0)

我必须将我的数组的前3个结果放在三个不同的div布局中。第一个div是最大的,另外两个div位于同一行。我添加这个项目 array ['stt'] = 0 array ['stt'] = 1 在tpl中我检查{if $ array.stt == 1}或{$ array.stt == 0}以写出我想要的类的div,我认为它不是最好的方法,但我可以正常工作想!! @Kailas Badu:你写得很认真,很容易知道,非常感谢你!