ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 近期好多人问道如何计数,loop计数,foreach计数,输出第几个这种问题,下面我就把这类问题都写一遍吧。 ### loop输出第N个数据 ``` #假设输出第5个数据 {loop table="article" limit="10" as="v"} {if($v_n==5)} 此处会输出匹配的第5个数据 {/if} 也可以这样 {if($v_key==4)} $v_key是从0开始计数,所以输出第五个,应该是4 {/if} {/loop} ``` ### foreach输出第N个数据 ``` #通用做法,设定变量,假设是第5个 {php $i=1;/} #定义一个变量$i,初始值为1 {foreach $lists as $v} {if($i==5)} 此处输出第5个 {/if} {php $i++;/} #每次循环+1,也就是递增,也可以写成{php $i+=1; /} {/foreach} ``` ### 列表页$lists可以另一种形式输出第N个 ``` {foreach $lists as $k=>$v} 此时$k是从0开始计数 {if($k==4)} 由于是第0个开始,那么第5个就应该是$k=4 {/if} {/foreach} ``` ### $classtypedata 利用foreach指定输出N个栏目 **注意:这里比较特殊,$classtypedata是我格式化处理过的数组,所以数组不能使用上面$k的形式计数,只能自定义变量来计数** ``` #定义变量$i,从1开始循环递增 {php $i=1;/} {foreach $classtypedata as $v} #这里判断pid=0,只输出顶级栏目,且只输出5个 {if($v['pid']==0)} {if($i<=5)} 此处就是输出顶级栏目5个 {/if} #注意:一定要写在这个if内部,因为符合条件的才循环,不能写在外部 {php $i++;/} {/if} {/foreach} ```