在thinkphp里支持两种循环输出
第一种是volist,第二种是foreach标签
第一种方式输出的过程:
在控制器里先对模板赋值:
$User = M('User');
$list = $User->limit(10)->select();
$this ->assign('list',$list);
//list是一个二维数组
在模板定义循环
<volist name='list' id='vo'>//name属性的值就是在控制器里定义的键;id表示当前循环的变量
{$vo.id}:{$vo.name}<br/>
</volist>
<volist name='list' id='vo' offset='5' length='10'>//offset的意思是从第五条数据开始输出10条记录,就是第5~15条记录
{$vo.name}
</volist>
<volist name='list' id='vo' mod='2'>//mod表示要显示两条数据
<eq name='mod' value='1'>{$vo.name}</eq>输出偶数记录value=1表示输出第2条数据
</volist>
<volist name='list' id='vo' mod='5'>//显示五条数据
<eq name='mod' value='4'><br></eq>//第五条记录换行
</volist>
在控制器写
$this->assign('empty','<span class='empty'>没有数据</span>');
$this->assign('list',$list);
<volist name='list' id='vo' empty='$empty'>//作用就是当数据为空的时候输出
{$vo.id}:{$vo.name}
</volist>
第二种循环foreach更加简单没有过多的额外属性
<foreach name='list' item='vo'>//name表示数据源item表示循环变量
{$vo.id}:{$vo.name}
</foreach>
如果是一维数组怎么办
<foreach name='list' item='vo'>
{$key}|{$vo}//输出一个一维数组
</foreach>