{foreach},{foreachelse} 循环

{foreach}是非常常用的循环标签,用于循环数组,或者循环对象。

 

格式如:

{foreach from=$list item=rs}{/foreach}
{foreach from=$list item=rs key=idx}{/foreach}
{foreach from=$list item=rs key=idx attr=attr}{/foreach}

 

参数名 类型 必需 说明
from any Yes 要遍历的数据 一般是数组 或者 对象
item string Yes 遍历每项值的变量名称
key string No 遍历每项键名的变量名称
attr string No 用于读出每行属性的变量名称

 

Attr 属性介绍

$attr.index      int  数组游标 从0开始。
$attr.iteration  int  行号  从 1 开始。
$attr.first  bool  是否第一行
$attr.last  bool 是否最后一行
$attr.total  int  数组长度。

 

{*遍历数组*}
{foreach from=[['id'=>1,'name'=>'wj008'],['id'=>2,'name'=>'wj354']] item=rs key=i}
    <div>id:{$rs.id} name:{$rs.name} key:{$i}</div>
{/foreach}

{*遍历数组*}
{foreach from=['a'=>'a','b'=>2,'c'=>'cc','d'=>true] item=val key=key}
    <div>key:{$key}</div>
    <div>val:{$val}</div>
{/foreach}

{*遍历对象*}
{foreach from=$user item=val key=key}
    <div>key:{$key}</div>
    <div>val:{$val}</div>
{/foreach}

{*使用属性*}
<ul>
    {foreach from=[['id'=>1,'name'=>'wj008'],['id'=>2,'name'=>'wj354'],['id'=>3,'name'=>'wj007']] item=rs key=i attr=p}
        <li>
            <div>共{$p.total}条,游标{$p.index},第{$p.iteration}条,{if $p.first}首行{/if}{if $p.last}尾行{/if}</div>
            {foreach from=$rs item=val key=key}
                <div> {$key}:{$val}</div>
            {/foreach}
        </li>
    {/foreach}
</ul>

{*数据为空*}
{foreach from=[] item=rs}
    <div>name:{$rs.name}</div>
    {foreachelse}
    没有任何数据
{/foreach}
Copyright © 2021 海南的叶子 All Rights Reserved 琼ICP备2021000725号

琼公网安备 46900702000037号