循环输出volist使用总结,thinkphp中volist的多重循环

By admin in 编程 on 2019年6月25日

Volist标签首要用以在模板中循环输出数据集只怕多维数组。

Volist标签首要用于在模板中循环输出数据集也许多维数组。

有关volist,thinkphp官方手册说的不胜明白,其实就相当于foreach功效,只是用在模板里面,很有益,实用。

volist标签(循环输出数据)

volist标签(循环输出数据)

volist的二重循环,标签嵌套是如此的。

闭合

闭合

在操作里写如下代码:假定有如下数组

非闭合标签

非闭合标签

1 $listArray=array(0=>array('order_id'=>'1','product_item'=>array(0=>array('name'=>'a','price'=>'222'),1=>array('name'=>'b','price'=>'500'))),    2  1=>array('order_id'=>'2','product_item'=>array(0=>array('name'=>'c','price'=>'566'),1=>array('name'=>'d','price'=>'6666'))));  

属性

属性

 

name(必须):要出口的数码模板变量

name(必须):要出口的多少模板变量

在对应的沙盘大家应当使用

id(必须):循环变量

id(必须):循环变量

1 [html] view plaincopyprint?  2 <volist name="listArray" id="vo">    3    {$vo.order_id}<br>    4    <volist name="vo.product_item" id="item">    5       {$item.name}{$item.price}    6    </volist>    7 </volist>  

offset(可选):要出口数据的offset

offset(可选):要出口数据的offset

 

length(可选):输出数据的长短

length(可选):输出数据的长短

得出想要的结果。

key(可选):循环的key变量,暗中认可值为i

key(可选):循环的key变量,默许值为i

 

mod(可选):对key值取模,默认为2

mod(可选):对key值取模,默认为2

 

empty(可选):假若数据为空显示的字符串

empty(可选):假设数据为空显示的字符串

手册里这么说明,照旧很周全的。
Volist标签主要用来在模板中循环输出数据集只怕多维数组。

日常模型的select方法重回的结果是八个二维数组,能够平昔运用volist标签实行输出。
在Action中首先对模版赋值:

一般来讲模型的select方法重临的结果是多少个二维数组,能够直接行使volist标签进行输出。
在Action中率先对模版赋值:

 

  1. $User = M(‘User’);
  2. $list = $User->select();
  3. $this->assign(‘list’,$list);
  1. $User = M(‘User’);
  2. $list = $User->select();
  3. $this->assign(‘list’,$list);

volist标签(循环输出数据)

在模板定义如下,循环输出用户的编号和人名:

在模板定义如下,循环输出用户的数码和姓名:

闭合

  1. <volist name=”list” id=”vo”>
  2. {$vo.id}
  3. {$vo.name}
  4.  </volist>
  1. <volist name=”list” id=”vo”>
  2. {$vo.id}
  3. {$vo.name}
  4. </volist>

非闭合标签

Volist标签的name属性表示模板赋值的变量名称,因而不可随意在模板文件中更动。id表示近日的循环变量,能够Infiniti制钦定,但保障不要和name属性争执,比方:

Volist标签的name属性表示模板赋值的变量名称,因而不可轻便在模板文件中退换。id表示近年来的循环变量,能够随心所欲钦点,但保障不要和name属性抵触,举个例子:

属性

  1. <volist name=”list” id=”data”>
  2. {$data.id}
  3. {$data.name}
  4.  </volist>
  1. <volist name=”list” id=”data”>
  2. {$data.id}
  3. {$data.name}
  4. </volist>

name(必须):要出口的数额模板变量

支撑出口部分数据,比如输出个中的第5~15条记下

支撑出口部分数据,比方输出个中的第5~15条记下

id(必须):循环变量

  1. <volist name=”list” id=”vo” offset=”5″ length=’10’>
  2. {$vo.name}
  3.  </volist>
  1. <volist name=”list” id=”vo” offset=”5″ length=’10’>
  2. {$vo.name}
  3. </volist>

offset(可选):要出口数据的offset

9

出口偶数记录

length(可选):输出数据的长短

输出偶数记录

  1. <volist name=”list” id=”vo” mod=”2″ >
  2. <eq name=”mod” value=”1″>{$vo.name}</eq>
  3. </volist>

key(可选):循环的key变量,暗中认可值为i

  1. <volist name=”list” id=”vo” mod=”2″ >
  2.  <eq name=”mod” value=”1″>{$vo.name}</eq>
  3.  </volist>

Mod属性还用于调整一定记录的换行,举个例子:

mod(可选):对key值取模,默认为2

Mod属性还用于控制一定记录的换行,举例:

  1. <volist name=”list” id=”vo” mod=”5″ >
  2. {$vo.name}
  3. <eq name=”mod” value=”4″><br/></eq>
  4. </volist>

empty(可选):即使数据为空显示的字符串

  1. <volist name=”list” id=”vo” mod=”5″ >
  2. {$vo.name}
  3.  <eq name=”mod” value=”4″><br/></eq>
  4.  </volist>

为空的时候输出提示:

 

5

  1. <volist name=”list” id=”vo” empty=”权且并未有数据” >
  2. {$vo.id}|{$vo.name}
  3. </volist>

 

为空的时候输出提醒:

empty属性不扶助直接传入html语法,但足以支撑变量输出,举例:

常见模型的select方法再次回到的结果是二个二维数组,能够直接使用volist标签实行输出。

  1. <volist name=”list” id=”vo” empty=”暂风尚未多少” >
  2. {$vo.id}|{$vo.name}
  3.  </volist>
  1. $this->assign(’empty’,'<span >不多</span>’);
  2. $this->assign(‘list’,$list);

在Action中率先对模版赋值:

empty属性不扶助直接传入html语法,但足以支撑变量输出,比方:

接下来在模板中运用:

$User = M(‘User’);

  1. $this->assign(’empty’,'<span >十分少</span>’);
  2. $this->assign(‘list’,$list);
  1. <volist name=”list” id=”vo” empty=”$empty” >
  2. {$vo.id}|{$vo.name}
  3. </volist>

$list = $User->select();

下一场在模板中利用:

出口循环变量

$this->assign(‘list’,$list);

  1. <volist name=”list” id=”vo” empty=”$empty” >
  2. {$vo.id}|{$vo.name}
  3.  </volist>
  1. <volist name=”list” id=”vo” key=”k” >
  2. {$k}.{$vo.name}
  3. </volist>

 

编程,1

若是未有一点点名key属性的话,暗中同意使用循环变量i,比方:

在模板定义如下,循环输出用户的号子和姓名:

出口循环变量

  1. <volist name=”list” id=”vo” >
  2. {$i}.{$vo.name}
  3. </volist>

<volist name=”list”id=”vo”>

  1. <volist name=”list” id=”vo” key=”k” >
  2. {$k}.{$vo.name}
  3.  </volist>

假设要出口数组的目录,可以一向动用key变量,和循环变量不一样的是,这几个key是由数量自身决定,而不是循环调节的,举个例子:

{$vo.id}

要是未有一点点名key属性的话,暗中同意使用循环变量i,比方:

  1. <volist name=”list” id=”vo” >
  2. {$key}.{$vo.name}
  3. </volist>

{$vo.name}

  1. <volist name=”list” id=”vo”  >
  2. {$i}.{$vo.name}
  3.  </volist>

从2.1版开始容许在模板中央政府机关接运用函数设定数据集,而无需在调控器中给模板变量赋值传入数据集变量,如:

</volist>

若是要出口数组的目录,能够向来运用key变量,和循环变量不一样的是,这些key是由数量自己决定,而不是循环调节的,例如:

  1. <volist name=”:fun(‘arg’)” id=”vo”>{$vo.name}</volist>

Volist标签的name属性表示模板赋值的变量名称,由此不可随意在模板文件中退换。id表示最近的循环变量,可以轻巧钦赐,但保证不要和name属性抵触,比方:

  1. <volist name=”list” id=”vo”  >
  2. {$key}.{$vo.name}
  3.  </volist>

<volist name=”list”id=”data”>

 

{$data.id}

从2.1版初始容许在模板中一向动用函数设定数据集,而不需求在调节器中给模板变量赋值传入数据集变量,如:

{$data.name}

  1. <volist name=”:fun(‘arg’)” id=”vo”>{$vo.name}</volist>

</volist>


支撑出口部分数据,举个例子输出在那之中的第5~15条记下

<volist name=”list”id=”vo” offset=”5″ length=’10’>

{$vo.name}

</volist>

 

出口偶数记录

<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=”list”id=”vo” key=”k” >

{$k}.{$vo.name}

</volist>

一旦未有一点名key属性的话,暗中认可使用循环变量i,例如:

<volist name=”list”id=”vo” >

{$i}.{$vo.name}

</volist>

如若要出口数组的目录,能够间接使用key变量,和循环变量不相同的是,那一个key是由数据自身决定,而不是循环调控的,比方:

<volist name=”list”id=”vo” >

{$key}.{$vo.name}

</volist>

 

volist还应该有贰个小名iterate,用法和volist是同等。

 

volist 的if判断

1 <volist name='lists' id='list'>  2 <li <if condition="$i eq count($lists)"></if>>  3 <a href="/tag/thinkphp">thinkPhp教程</a>  4 </li>  5 </volist>

 

1 <volist name="list" id="vo">  2  <volist name="slist" id="s">  3  <if condition="$s.sid eq $vo['id']">   //或者<if condition="$s['sid'] eq $vo['id']">  4  内容。。。。。  5  </if>  6  </volist>  7  </volist>

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 澳门新葡亰官网app 版权所有