数据循环
一、loop写法
php模板循环中,最常见的循环就是foreach了,简单高效使php程序里大量运用了foreach,这里我们就模板里的循环进行解说。在php模板中,循环被改装成对称的loop 和 /loop 模式,代码:
- <!-- loop from=$rslist key=$key value=$value [id=rslist_id] -->
- ...
- <!-- /loop -->
参数解析:
from,数据来源
key,给数组下标附一个变量
value,值
id,给数组from里信息增加属性,这里提供了三个属性
num,当前数量,从1开始计起
index,当前索引,从0开始计起
total,当前数组数量
示例1:在文章列表中常用到的循环
- <!— loop from=$rslist key=$key value=$value —><li> <a href="{$value.url}" title="{$value.title}"> <span class="date">{func date Y-m-d $value.dateline}</span> {$value.title} </a></li><!— /loop —>
示例2、在导航菜单中常用到的循环(这里用到了id里的num和total属性
<!— php:$list = phpok("menu") —>(获取后台数据调用中心参数menu的数据)<!— loop from=$list key=$key value=$value id=list_id —><li {if $list_id.num == 1} class="selected"{/if}> <a href="{$value.url}" title="{$value.title}" target="{$value.target}" class='alink'>{$value.title}</a> {if $list_id.num != $list_id.total} | {/if}</li><!— /loop —>
二、foreach写法
在phpok模板中,仍然支持旧版的循环写法,甚至支持php写法,功能和上述loop是一样的,不过没有id属性
<!— $rslist AS $key=>$value —><li><a href="{$value.url}" title="{$value.title}">{$value.title}</a></li><!— end —>
或者如下编写:
<!— $rslist AS $key=>$value —><li><a href="{:$value[url]}" title="{:$value[title]}">{:$value[title]}</a></li><!— end —>