Smarty foreach控制循环次数的一些方法

1、在 smarty 中数组是经常会用到的,循环遍历数组用 section 或者 foreach ,如何得到数组长度或者判断一个数组个数呢?可以用{$array| count} 来试试。

2.

代码如下:

{foreach from=$variable key=key name=name iteam=value}

{$variable|@count}     // 获取数组长度

{$smarty.foreach.loop.index}    // 获取当前循环数组元素下标,以0开始

{$smarty.foreach.loop.iteration}    // 获取当前循环次数,以1开始

{$smarty.foreach.loop.first}    // 为true时,标记循环第一次执行

{$smarty.foreach.loop.last}    // 为true时,标记循环最后一次执行
 {$smarty.foreach.name.last}    // 为true时,标记循环最后一次执行

{$smarty.foreach.loop.show}    // 当前是否显示

{$smarty.foreach.loop.total}    // 循环次数

{/foreach}

3、控制循环次数

代码如下:

{foreach name=infolist from=$VIDEO_INFO_LIST item=infolist}
{assign var=floor value=$smarty.foreach.infolist.index}
{if $floor<5%}    
 {*或者 if $smarty.foreach.infolist.iteration <5*}
 <li>{$infolist%}</li>
{/if}
{/foreach}

时间: 2015-06-28

smarty模板引擎使用内建函数foreach循环取出所有数组值的方法

本文实例讲述了smarty内建函数foreach的使用方法,分享给大家供大家参考.具体如下: 显示文件:index.php: 复制代码 代码如下: <?php //创建smarty对象 require_once("./libs/Smarty.class.php"); $smarty = new Smarty(); $arr1 = array("北京","上海","广州");//索引数组 $smarty->assig

php smarty 二级分类代码和模版循环例子

二级分类的数据表结构如下: 复制代码 代码如下: PHP代码如下 /** @ 文章分类 含二级分类 @ param int $rootnum -- 一级分类数量 @ param int $childnum -- 二级分类数量 @ 返回值 array @ date 2011.2.24 */ function temp_articletreecate($rootnum,$childnum){ if(!isnumber($rootnum)){ $rootnum = 10; } if(!isnumber

Smarty foreach控制循环次数的实现详解

1.可以用{$array| count} 来试试.2. 复制代码 代码如下: {foreach from=$variable key=key name=name iteam=value}    {$variable|@count}     // 获取数组长度    {$smarty.foreach.loop.index}    // 获取当前循环数组元素下标,以0开始    {$smarty.foreach.loop.iteration}    // 获取当前循环次数,以1开始    {$sma

smarty模板嵌套之include与fetch性能测试

方法一.使用在父模板中使用{include file="child.tpl"}直接将子模板包含进来 优点: 1.有利于模块的划分和模板的重用. 2.嵌套层次不多的时候,模板的结构清晰,一眼过去就知道这个模板的内容和结构. 3.只需要一个smarty实例就能做完所有的事情,减少系统资源的占用. 不足: 1.子模板中的变量可能与父模板的变量发生冲突 2.多重嵌套的时候,变量名冲突的几率增大,为所有的变量赋值的难度也加大. 3.子模板的可操控性差,例如不能通过设置$cache_id, $co

smarty循环嵌套用法示例分析

本文实例讲述了smarty循环嵌套用法.分享给大家供大家参考,具体如下: test3.php: <?php require "main.php"; $forum = array( array("category_id" => 1, "category_name" => "公告区", "topic" => array( array("topic_id" =>

smarty的section嵌套循环用法示例

本文实例讲述了smarty的section嵌套循环用法.分享给大家供大家参考,具体如下: {section name="sec1" loop=$typeList} <TABLE class=left20 height=25 cellSpacing=0 cellPadding=0 width=624 background=images/indexbg.gif border=0> <TBODY> <TR> <TD class=zi align=le

php中smarty区域循环的方法

本文实例讲述了php中smarty区域循环的方法.分享给大家供大家参考.具体实现方法如下: <html> <head> <title>Smarty Test</title> </head> <body> <table border=1> {foreach key=key1 item=item1 from=$array1} <tr> <td>{$key1}</td> <td>{

python中退出多层循环的方法

1.定义标记变量:利用变量值的变化退出循环 # 第一种嵌套形式 a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]] # init_i = 0 # init_j = 0 flag = True for i in range(3): for j in range(3): # print(i, j) if a[i][j] == 5: flag = False init_i = i init_j = j break if not flag: break print(init_i,

易语言将画板中指定区域清空的方法

清除方法 英文命令:cls 操作系统支持:Windows    所属对象:画板 清除画板上指定区域的内容并将当前文本写出位置移动到被清除区左上角. 语法:  无返回值  画板.清除 ([清除区左上角横坐标],[清除区左上角纵坐标],[清除区宽度],[清除区高度]) 例程 说明 通过"清除"命令将画板中指定区域清空. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看下面相关链接

解析prototype,JQuery中跳出each循环的方法

复制代码 代码如下: function chk(){        var flag=true;        var msg='';        var tips={'username':'姓名','tel':'电话','company':'公司名称','loupan_name':'楼盘名','sdate':'团购时间','content_1':'团购内容'};        $$('.required').each(function(el){            if($F(el).bl

JavaScript 中的12种循环遍历方法【总结】

1.for 循环 let arr = [1,2,3]; for (let i=0; i<arr.length; i++){ console.log(i,arr[i]) } // 0 1 // 1 2 // 2 3 for 循环是 Js 中最常用的一个循环工具,经常用于数组的循环遍历. 2.for in 循环 let obj = {name:'zhou',age:'**'} for(let i in obj){ console.log(i,obj[i]) } // name zhou // age

Java中增强for循环在一维数组和二维数组中的使用方法

一维数组: int[] a={1,2,3}; for(int i:a) { System.out.print(i+" "); } 输出:1 2 3 二维数组: import java.util.Scanner; public class tet { public static void main(String[] args) { //int[][] b={{1,2,3},{4,5,6}};行 int[][] a=new int[5][];//必须明确行数 for(int i=0;i&l

java集合类arraylist循环中删除特定元素的方法

在项目开发中,我们可能往往需要动态的删除ArrayList中的一些元素. 一种错误的方式: <pre name="code" class="java">for(int i = 0 , len= list.size();i<len;++i){ if(list.get(i)==XXX){ list.remove(i); } } 上面这种方式会抛出如下异常: Exception in thread "main" java.lang.I

php中smarty实现多模版网站的方法

本文实例讲述了php中smarty实现多模版网站的方法.分享给大家供大家参考.具体实现方法如下: 模板model1.htm代码: <html> <head> <title>模板1</title> </head> <body> <a href="?model=1" mce_href="?model=1">模板1</a> | <a href="?model=2

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

对于用过smarty做过php开发的朋友来说,应该都知道在smarty模板里面判断foreach循环是否是最后一个可以用$smarty.foreach.name.last来判断循环是否到了最后一条记录,在thinkphp的模板中常见的循环是volist,但是volist的各种属性中并没有直接判断最后一条记录的属性,那么在thinkphp中如何判断呢?下面的代码可以实现ThinkPHP中volist断最后一条记录. 举例代码如下,读者可以自己去体会. <volist name='lists' id

Codeigniter中集成smarty和adodb的方法

本文实例讲述了Codeigniter中集成smarty和adodb的方法.分享给大家供大家参考,具体如下: 在CodeIgniter中要写自己的库,就需要写两个文件,一个是在application/init下面的init_myclass.php文件(如果没有init目录,自己创建).另外一个就是在application/libraries目录下创建myclass.php文件. 这里myclass是你的类名.一些规则大家看手册就好了,我这里直接就说步骤了. 1)在application/libra