thinkphp 模板页循环输出下标从0或1开始

浏览:6428 发布日期:2016/02/02 分类:技术分享
很多人不太清楚模板页循环的时候根据业务的需要,需要显示下标,有时候要从0开始的,有时候需要从1开始的。
那么如何才能让数组的下标从1或0开始呢?
下面我以volist循环为例,说一下://key(可选):循环的key变量,默认值为i
<volist name="list" id="vo">
{$vo.id}
{$vo.name}
</volist>
手册说明上面有这句话,key为可选值,也就是说如果volist循环里面不写key=“xxx”这句代码的话,直接在循环里写{$key}是从0开始的。
如果加了这句代码,循环里面写{$xxx},那么下标就是从1开始。
分析了下缓存里面解析后的源代码:
下面是volist循环不加key=“xxx”的解析结果:<?php if(is_array($list)): $i = 0; $__LIST__ = $list;if( count($__LIST__)==0 ) : echo "" ;else: foreach($__LIST__ as $key=>$vo): $mod = ($i % 2 );++$i;?><tr>
    <td><?php echo ($key); ?></td>
</tr><?php endforeach; endif; else: echo "" ;endif; ?>
下面是加了key=“xxx”的解析结果:<?php if(is_array($list)): $k = 0; $__LIST__ = $list;if( count($__LIST__)==0 ) : echo "" ;else: foreach($__LIST__ as $key=>$vo): $mod = ($k % 2 );++$k;?><tr>
    <td><?php echo ($k); ?></td>
</tr><?php endforeach; endif; else: echo "" ;endif; ?>
-------------------
可以看到循环里面的输出key变量都不一样,再看看循环体,就明白了。
所以总结出来的就是在循环体中加了key=“xxx”的循环下标是从1开始的,不加就是从0开始(或者说是输出默认的下标)的。
最佳答案
评论( 相关
后面还有条评论,点击查看>>