`

ThinkPHP内置标签 —— Volist、Foreach、For 标签属性

阅读更多

变量输出使用不同标签就足够了,但是要完成其他的控制、循环和判断功能,就需要借助模板引擎的标签库功能了,系统内置标签库的所有标签无需引入标签库即可直接使用。

标签名 作用 包含属性
include 包含外部模板文件(闭合) file
import 导入资源文件(闭合 包括js css load别名) file,href,type,value,basepath
volist 循环数组数据输出 name,id,offset,length,key,mod
foreach 数组或对象遍历输出 name,item,key
for For循环数据输出 name,from,to,before,step
switch 分支判断输出 name
case 分支判断输出(必须和switch配套使用) value,break
default 默认情况输出(闭合 必须和switch配套使用)
compare 比较输出(包括eq neq lt gt egt elt heq nheq等别名) name,value,type
range 范围判断输出(包括in notin between notbetween别名) name,value,type
present 判断是否赋值 name
notpresent 判断是否尚未赋值 name
empty 判断数据是否为空 name
notempty 判断数据是否不为空 name
defined 判断常量是否定义 name
notdefined 判断常量是否未定义 name
define 常量定义(闭合) name,value
assign 变量赋值(闭合) name,value
if 条件判断输出 condition
elseif 条件判断输出(闭合 必须和if标签配套使用) condition
else 条件不成立输出(闭合 可用于其他标签)
php 使用php代码

Volist 标签

volist标签通常用于查询数据集(select 方法),对于查询出来的结果数组进行遍历输出。

首先赋值:

$User = M("User");
$list = $User->limit(10)->select();
$this->assign('list',$list);
$this->display();

 页面的展示:

<volist name="list" id="vo">
{$vo.id} : {$vo.name} <br/>
</volist>

 输出结果:1  : tom

    3  : jack

    5   : jetty

 

1.offset 、 length属性 —— 输出部分数据

<volist name="list" id="vo" offset="4" length="5"> 
	{$vo.id} : {$vo.name}  <br/>
</volist>

//显示的是第5条到第10条数据

结果:
18 : jetty 
19 : tom2 
20 : tom3
21 : tom4 
22 : tom5

 

 2.mod属性 —— 将数据分块输出

/* 输出偶数数据
*  第一行的mod值是将数据分成2个一组,序号都是从0开始
*  第二行 当mod值为1时输出数据,也就是显示偶数的数据
*/
<volist name="list" id="vo" mod="2">
	<eq name="mod" value="1">{$vo.name}</eq>
</volist>


/* 控制一行记录的换行
* 同理,先将数据分成4个一组,都是从0开始标序号 输出所有数据
*  当每组中的序号为3 也就是显示最后一个数据后,输出换行符
*/
<volist name="list" id="vo" mod="4">
      {$vo.name}
	<eq name="mod" value="3"><br/></eq>
</volist>

 

 3.empty —— 数据为空提示

<volist name="list" id="vo" empty="暂时没有数据显示">
	{$vo.id}|{$vo.name}
</volist>
//如果没有可显示的数据 就会输出 "暂时没有数据显示"提示

/*
*   empty 支持向页面传值
*/
$this->assign('empty','<span class="empty">没有可显示的数据</span>');
$this->assign('list',$list);
$this->display();

//模板中使用:
<volist name="list" id="vo" offset="10" length="3" empty="$empty">
	{$vo.id}|{$vo.name}
</volist>

 

 4.key属性 —— 输出数据序号

<volist name="list" id="vo" empty="$empty" key="k">
	{$k} :  {$vo.name}
</volist>
//序号 从1开始

/* 如果key属性没有写,默认的可以用i表示
* 结果与上同  序号也是从1开始
*/
<volist name="list" id="vo" empty="$empty">
	{$i}  {$vo.id}|{$vo.name}
</volist>

注:也可以只用key变量,此时序号从0开始。

 Foreach标签

 

foreach标签类似与volist标签,只是更加简单,没有太多额外的属性

name : 表示数据源     item : 表示循环变量

<foreach name="list" item="vo">
	{$key}|{$vo}
</foreach>

//也可以定义索引的变量名
<foreach name="list" item="vo" key="k">
	{$k}|{$vo}
</foreach>
//索引都是从0开始	

 For 标签

格式:

<for start="开始值" end="结束值" comparison="判断条件" step="步进值" name="循环变量名">
</for>

开始值、结束值、步进值和循环值都可以支持变量,开始值和结束值是必须,其他是可选。comparison的默认值是lt;name的默认值是i,步进值的默认值是1

<for start="1" end="100">
	{$i}
</for>
/*
 解析后的代码是:
	for($i=1; $i<100; $i+=1){
		echo $i
	}
*/
/**
*	for循环输出user对象的数据值,k是循环变量名
*/
<for start="1" end="6" name="k">
	{$user[$k]['id']}  : {$user[$k]['username']}  <br/>
</for>

 

 

 

分享到:
评论

相关推荐

    Thinkphp的volist标签嵌套循环使用教程

    系统内置的标签中,volist(及其别名iterate)、switch、if、elseif、else、foreach、compare(包括所有的比较标签)、(not)present、(not)empty、(not)defined等标签都可以嵌套使用。例如: &lt;volist name=...

    ThinkPHP模板中判断volist循环的最后一条记录的验证方法

    虽然ThinkPHP的模板引擎提供了volist标签,但并没有像Smarty模板中的Smarty.foreach.name.last这样的直接属性来判断是否为循环的最后一条记录。不过,我们可以利用volist标签内置的变量和条件判断语句来实现这一功能...

    ThinkPHP之foreach标签使用概述

    ThinkPHP模板的foreach标签用于在模板中循环输出数据集或者对对象进行遍历输出。 相对于volist标签而言,foreach标签没有volist标签那么多的功能,却可以对对象进行遍历输出,而volist标签通常是用于输出数组。 ...

    ThinkPHP实战(夏磊)

    7.8.2foreach标签 1 7.8.3for标签 1 7.8.4switch标签 111 7.8.5比较标签 111 7.8.6empty标签 114 7.8.7defined标签 114 7.8.8标签嵌套 114 7.8.9import标签 115 7.8.使用原生PHP 115 7.8.11不解析输出 115 ...

    Thinkphp5.0框架视图view的循环标签用法示例

    本篇文章将深入探讨ThinkPHP5.0框架视图view中的循环标签,包括`volist`、`foreach`和`for`标签的使用方法。 首先,我们来看`volist`标签,它是ThinkPHP5.0中的一个专有循环标签,主要用于遍历数组或集合。下面是一...

    thinkphp标签实现bootsrtap轮播carousel实例代码

    需要注意的是,由于`foreach`和`for`循环无法在循环过程中获取索引,所以这里使用了ThinkPHP提供的`volist`标签。`volist`不仅提供了索引,还可以方便地处理数组、集合或其他数据结构,简化了模板中的逻辑。 在实际...

    thinkphp学信心得

    `foreach`循环是处理数组的常用方式,而在视图中,`&lt;volist&gt;&lt;sublist&gt;&lt;/sublist&gt;&lt;/volist&gt;`用于遍历和展示数组内容。 8. **分页功能**:ThinkPHP提供了内置的分页工具`Page`类。首先,需要计算总条数,如`$count = ...

    ThinkPHP3.0_完全开发

    - **标签详解**:深入解析各标签的语法和用途,如`Volist`、`Foreach`、`For`、`Switch`等。 以上总结了ThinkPHP3.0完全开发手册中的关键知识点,从入门到高级应用,涵盖了框架的所有核心功能和实践技巧。通过理解...

    thinkphp3.0完全中文开发手册

    **8.10 Foreach 标签** - **循环标签**:支持循环遍历数组。 **8.11 For 标签** - **循环标签**:支持 for 循环。 **8.12 Switch 标签** - **选择标签**:支持 switch 语句。 **8.13 比较标签** - **比较操作...

    ThinkPHP标签制作教程

    在ThinkPHP中,还有许多内置的标签,如`&lt;volist&gt;`,用于循环遍历数组或查询结果集。`&lt;volist&gt;`可以与`&lt;if&gt;`、`&lt;eq&gt;`等条件标签结合使用,实现复杂的模板逻辑。例如,`&lt;eq&gt;`用于条件判断,`&lt;else&gt;`用于定义条件不成立...

    ThinkPHP3.0_完全开发手册(1).pdf

    ThinkPHP3.0 的模板引擎提供了一系列内置标签,例如循环标签 `{volist}`、条件标签 `{if}` 等。 **8.7 包含文件** 通过 `{include}` 标签可以引入其他模板文件。 **8.8 导入文件** `{import}` 标签可以导入外部...

Global site tag (gtag.js) - Google Analytics