搜索
系统检测到您的用户名不符合规范:

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

浏览:6433 发布日期: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开始(或者说是输出默认的下标)的。
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
sym_lu
积分:799 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /