1.fetch,volist
public function index(){
$this->assign('list',$list);
return $this->fetch();
循环标签:1、{volist 有一些属性 } {/volist}
2、foreach
3、for
{foreach name="list" item="vo" key="s"}
<p>{$s}:{$vo.name}:{$vo.email}</p>
{/foreach}
{for start="1" end="10" step="2" name="k"}
<p>{$k}</p>
{/for}
{volist name="list" id="data" offset="0" length="3" mod="3" empty="$empty" key="s"}
<p>{$mod}:{$s};{data.name}</p>
{/volist}
{volist name="list", id="vo" key="name" empty="没有数据"} <p> {$vo.email} </p> <p> {$name} </p> {/volist} {foreach name="list", key="name", item="value"} <p>{$name}:{$value.email}</p> {/foreach} {for name="s", start="1", end="10", step="2"} <p>{$s}</p> {/for}
实现数据循环输出
{foreach $list as $vo} <p>{$vo.name}:{$.email}</p> {/foreach}
也可以:
{foreach name="list" item="vo"} <p>{$vo.name}:{$vo.email}</p> {/foreach}
name表示数据源 item表示循环变量。
输出索引
{foreach name="list" item="vo" key="k"} <p>{$k}:{$vo.name}:{$vo.email}</p> {/foreach}
索引key 可自行定义,默认“key”
{volist name="list" id="vo" offset="0" length="10" empty="暂时没有数据"} <p>name:{$vo.name}</p> {/volist}
name,模板赋值变量;id,当前循环变量;offset,遍历起始位置;length,遍历的长度;empty,为空的时候输出提示,不支持html写法,但可以传入变量;
https://www.kancloud.cn/manual/thinkphp5/125017
输出偶数记录
{volist name="list" id="vo" mod="2" }{eq name="mod" value="1"}{$vo.name}{/eq}{/volist}
Mod属性还用于控制一定记录的换行,例如:
{volist name="list" id="vo" mod="5" }{$vo.name}{eq name="mod" value="4"}<br/>{/eq}{/volist}
模板循环标签:
{volist name="" id="" key="" offset="" length="" mod="" empty="" }
{/volist}
{volist name="数组名" id="数组的别名" key="默认为i,代表当前循环的次数" offset="从索引的几开始往后输出" length="当前所要输出的长度" mod="循环的次数和mod取余" empty="不能直接使用html标签,但是可以使用变量,当数组为空时显示的文本内容" }
{foreach $list as $vo} 或者 {foreach name="list" item="vo"}
{/foreach}
{for start="1" end="10" step="2" name="k"}
<p>{$k}</p>
{/for}
相当于:
<!--
for($k=1; $k<10; $i+=2){
echo "<p>{$k}</p>";
}
模板循环标签:
{volist name="" id="" key="" offset="" length="" mod="" empty="" }
{/volist}
{volist name="数组名" id="数组的别名" key="默认为i,代表当前循环的次数" offset="从索引的几开始往后输出" length="当前所要输出的长度" mod="循环的次数和mod取余" empty="不能直接使用html标签,但是可以使用变量,当数组为空时显示的文本内容" }
{foreach $list as $vo} 或者 {foreach name="list" item="vo"}
{/foreach}
{for start="1" end="10" step="2" name="k"}
<p>{$k}</p>
{/for}
相当于:
<!--
for($k=1; $k<10; $i+=2){
echo "<p>{$k}</p>";
}
模板循环标签:
{volist name="" id="" key="" offset="" length="" mod="" empty="" }
{/volist}
{volist name="数组名" id="数组的别名" key="默认为i,代表当前循环的次数" offset="从索引的几开始往后输出" length="当前所要输出的长度" mod="循环的次数和mod取余" empty="不能直接使用html标签,但是可以使用变量,当数组为空时显示的文本内容" }
{foreach $list as $vo} 或者 {foreach name="list" item="vo"}
{/foreach}
{for start="1" end="10" step="2" name="k"}
<p>{$k}</p>
{/for}
相当于:
<!--
for($k=1; $k<10; $i+=2){
echo "<p>{$k}</p>";
}
-->
for 方式便利
foreach 方式遍历
view中循环显示数组中的值
volist方式便利
controller中的数据
foreach
volist 循环
{for} 默认索引是$i,可以在name="k"里修改
{foreach}:也可以加 key="s"...
$i是循环次数,无需定义,如果要改名字,可以写 key="s",然后以$s引用
还可以有 mod 和$empty(预先assign,可以带html标签)
volist 循环: 注意是{} 而不是以前的! 可以有 offset和length参数
volist 循环: 注意是{} 而不是以前的!
<volist name="list" id="vo" offset="0" length="3" mod="2" empty="空数据" key="k">
{$mod}{$k} {$vo.name}
</volist>
for循环
模版的循环标签<volist name="名字" id="value" offset="从第几个键开始循环" length="循环的长度" mod="取余,值为数字" empty="如果数组为空显示这个值" key="当前第几次循环,默认为i">
</volist>
for标签
{for start="1" end="10" step="2" name="k"}
{$k}
{/for}
foreach 用法
{foreach name="list" item="vo" key="s"}
{$s} : {$vo.name} : {$vo.email}
{/foreach}
模板循环标签:
{volist name="list" id="data" offset="1" length="1" mod="2" empty="没数据" key="i"}
{$data.name} -- {$mod} - {$i}
{/volist}
--- volist --- (name 对应控制器assign定义的二维数组,id相应vaule值,offset定义从第几条记录开始读取,length控制输出的条数,mod对某个值进行取余,empty在对象没数据时起作用,empty中可以接收控制器定义的变量,变量也可配带html标签。$i 的值相当于key,代表第几次循环)