数据循环

一、loop写法

php模板循环中,最常见的循环就是foreach了,简单高效使php程序里大量运用了foreach,这里我们就模板里的循环进行解说。在php模板中,循环被改装成对称的loop 和 /loop 模式,代码:

  1. <!-- loop from=$rslist key=$key value=$value [id=rslist_id] -->
  2. ...
  3. <!-- /loop -->

参数解析:

from,数据来源

key,给数组下标附一个变量

value,值

id,给数组from里信息增加属性,这里提供了三个属性

  1. num,当前数量,从1开始计起

  2. index,当前索引,从0开始计起

  3. total,当前数组数量

示例1:在文章列表中常用到的循环

  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 —>