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}

(0)

相关推荐

  • 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循环取出所有数组值的方法

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

  • 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的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>{

  • 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 foreach控制循环次数的一些方法

    1.在 smarty 中数组是经常会用到的,循环遍历数组用 section 或者 foreach ,如何得到数组长度或者判断一个数组个数呢?可以用{$array| count} 来试试. 2. 复制代码 代码如下: {foreach from=$variable key=key name=name iteam=value} {$variable|@count}     // 获取数组长度 {$smarty.foreach.loop.index}    // 获取当前循环数组元素下标,以0开始 {

  • Vue中控制v-for循环次数的实现方法

    在Vue中的遍历方法v-for控制循环次数的方法可以通过以下两种方法 1.截取循环的数据 v-for="(item,index) in domainList.slice(0, 2)" 用这样的方法可以截取循环的数据长度,从而控制循环的次数 2.通过v-if来控制 v-for="(item,index) in domainList" v-if="index<3" 在标签下紧跟v-if来进行控制,这里是用索引来进行控制的,所以循环的时候记得把i

  • Smarty Foreach 使用说明

    foreach 是除 section 之外处理循环的另一种方案(根据不同需要选择不同的方案). foreach 用于处理简单数组(数组中的元素的类型一致),它的格式比 section 简单许多,缺点是只能处理简单数组. foreach 必须和 /foreach 成对使用,且必须指定 from 和 item 属性. 将 from 属性指定的数组中的数据遍历处理到 item 属性指定的变量中. 参考 foreach (array_expression as $key => $value) from

  • Smarty模板简单配置与使用方法示例

    本文实例讲述了Smarty模板简单配置与使用方法.分享给大家供大家参考,具体如下: 在Smarty目录中建立templates,templates_c,configs,cache目录.以便Smarty进行编译和缓存. 建立smarty_inc.php文件对smarty进行配置如下: <?php include_once("./smarty/Smarty.class.php"); //包含smarty类文件 $smarty = new Smarty(); //建立smarty实例对

  • 使用jsp:include控制动态内容的方法

    本文实例讲述了使用jsp:include控制动态内容的方法.分享给大家供大家参考,具体如下: 清单 1. JSP include 伪指令 <![CDATA[ <%@ page language="java" contentType="text/html" %> <html> <head> <title>newInstance.com</title> <meta http-equiv="

  • js用拖动滑块来控制图片大小的方法

    本文实例讲述了js用拖动滑块来控制图片大小的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv=Content-Type content="text/html;charset=gb2312"> <title&g

  • java线程池:获取运行线程数并控制线程启动速度的方法

    在java里, 我们可以使用Executors.newFixedThreadPool 来创建线程池, 然后就可以不停的创建新任务,并用线程池来执行了. 在提交任务时,如果线程池已经被占满,任务会进到一个队列里等待执行. 这种机制在一些特定情况下会有些问题.今天我就遇到一种情况:创建线程比线程执行的速度要快的多,而且单个线程占用的内存又多,所以很快内存就爆了. 想了一个办法,就是在提交任务之前,先检查目前正在执行的线程数目,只有没把线程池占满的时候在去提交任务. 代码很简单: int thread

  • JS控制伪元素的方法汇总

    一. 缘由: 本文源于在OSC社区中,有人提问如何用jq获取伪元素.我第一想法是强大的CSS Query应该可以获取伪元素吧. 然而事实上,CSS Query并不能.即我们不能通过$(":before").$(dom).find(":before")或document.querySelector(":before")来获取:before伪元素. 为此,我不得不重新了解伪元素(Pseudo-elements).为什么不能用JS直接获取伪元素呢? 譬

  • 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

随机推荐