如何在smarty中获取php数组的最后7个元素? 我编写代码来获取最后一个元素
{foreach from=$results item=result name=forsmart}
{if $smarty.foreach.forsmart.last}
{$result->getAvgtimeonpage()|date_format:"%M :%S"}
{/if}
{/foreach}
如何获得最后7个元素?
最诚挚的问候,谢谢你的帮助
答案 0 :(得分:2)
关于MarkS答案,您不必指定计数器。 Smarty有一个内置的总数。
{foreach from=$results item=result name=forsmart}
{if $smarty.foreach.forsmart.iteration > ($smarty.foreach.forsmart.total - 7)}
{$result->getAvgtimeonpage()|date_format:"%M :%S"}
{/if}
{/foreach}
答案 1 :(得分:1)
在您的foreach中:
1)Assignt counter:
{assign var=toShow value=(($results|@count) - 7)}
2)显示索引大于计数器的项目:
{foreach from=$results item=result name=forsmart}
{if $smarty.foreach.forsmart > $toShow}
{$result->getAvgtimeonpage()|date_format:"%M :%S"}
{/if}
{/foreach}
for for循环:
1)分配循环分隔符
{assign var=maxCount value=(($results|@count)}
{assign var=toShow value=($maxCount - 6)}
2)循环滚动:
{for $i=$toShow to $maxCount}
{$results[i]->getAvgtimeonpage()|date_format:"%M :%S"}
{/for}
很抱歉,如果我做了任何拼写错误,但我希望你能得到这个想法。
答案 2 :(得分:0)
你可以试试这个
$arrayLength = count($results);
for ($i = $arrayLength-7; $i < $arrayLength; $i++) {
...
}
我编辑我的帖子以提供聪明的代码
{assign arrayLength = {$results|@count}}
{for $i=$arrayLength-1 to $arrayLength}
...
{/for}