我想创建具有计数器和3“if”条件的foreach smarty循环.
在我的计数器值大于3之后,我想重置计数器值并返回到If的第一个条件
这是我的代码
{foreach $itemscollection as $singleitem name=smartyloop}
{assign var="counter" value=$smarty.foreach.smartyloop.iteration}
{if $counter == 1}
I am the one
{/if}
{if $counter == 2}
I am second
{/if}
{if $counter == 3}
I am third
{/if}
{if $counter > 3}
{$counter = 1}
{/if]
{/foreach}
所以例如,如果我有4个元素放入foreach输出应该看起来像
I am the one
I am second
I am third
I am the one
现在它不起作用,我不知道为什么.
有人可以帮助我,并告诉如何解决这个问题?
解决方法:
{assign var=counter value=1}
{foreach $itemscollection as $singleitem name=smartyloop}
{if $counter == 1}
I am the one
{/if}
{if $counter == 2}
I am second
{/if}
{if $counter == 3}
I am third
{/if}
{if $counter > 3}
{assign var=counter value=1}
{/if]
{$counter++}
{/foreach}
这可能会奏效
标签:php,foreach,smarty
来源: https://codeday.me/bug/20190624/1276768.html