foreach,foreachelse

{foreach from=$variable key=key name=name iteam=value}{$variable|@count}     // 获取数组长度{$smarty.foreach.loop.iindex}    // 获取当前循环数组元素下标,以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}

_______________________

Smarty中如何获取数组的长度:

前提假设:分配了一个数组array给Smarty,假设Smarty的分界符为'{' 和'}'。在很多资料上都看到,在Smarty中要求数组的长度时,可以用在数组后便加|count的方法调用。即通过{array|count}获得 array的长度。但是今天在写模板时,发现这样得不到数组的长度,而只是得到一个返回的字符串Array。也就是说仅仅是返回了{array}的结果,而没有返回其array的长度。

查看smarty\plugins文件夹,发现并没有count的相关方法,也就是说,count是直接调用了php中的方法。后来通过网络上的资料,发现可以在count前面加@,从而正确的获取数组的长度。

再进一步查看Smarty的源码,发现Smarty对属性调节器后边的方法名进行处理时,会对前边加@的进行特殊处理。因此作出判断:在Smarty中的属性调节器中调用php中定义好的函数时,可以通过加@来表示。

对类型为数组的方法进行测试时,发现不加@符号都会出错。比如:要对一个数组调用count方法求出数组的长度,就可以这样调用{array|@count}, 而要对数组调用end方法得出数组的最后一组数据时,则可以通过{array|@end}。

Smarty foreach 循环次数 首次 末次相关推荐

  1. ecshop模板smarty foreach详解 [ECshop]

    {foreach},{foreachelse} {foreach} 用于像循环访问一个数字索引数组一样循环访问一个关联数组,与仅能访问数字索引数组的{section}不同,{foreach}的语法比 ...

  2. smarty foreach函数

    {foreach},{foreachelse} Attribute Name属性名称 Type类型 Required必要 Default默认值 Description描述 from array数组 Y ...

  3. Smarty foreach

    2019独角兽企业重金招聘Python工程师标准>>> Smarty - Manua手册 - Chapter 7. Built-in Functions第7章 内建函数 - {for ...

  4. smarty foreach 最全用法

    <?php $search_condition = "where name like '$foo%' "; $sql = 'select contact_id, name,  ...

  5. cshop模板smarty foreach详解

    {foreach},{foreachelse} {foreach} 用于像循环访问一个数字索引数组一样循环访问一个关联数组,与仅能访问数字索引数组的{section}不同,{foreach}的语法比 ...

  6. ecshop模板smarty foreach详解

    Smarty目录: /libs Smarty的功能类目录 /tempalates 模板文件目录 /templates_c 模板缓存文件目录 /configs 配置文件目录 /cache 缓存文件目录 ...

  7. smarty手册-smarty中foreach循环语句详解

    原文地址:smarty手册-smarty中foreach循环语句详解作者:谭博 {foreach}循环也有自身属性的变量,可以通过{$smarty.foreach.name.property}访问,其 ...

  8. php模板引擎循环start,smarty模板引擎foreach和section循环操作详解

    php smarty模板引擎是目前最著名的PHP模板引擎之一,它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,使得PHP程序员和前端人员分离:smarty 里有两种数据循环的方式,分别是 ...

  9. smarty之foreach和section

    {foreach from=$variable key=key name=name item=value} {$variable|@count} // 获取数组长度 {$key} // 获取当前循环数 ...

最新文章

  1. The Report(连接查询)
  2. python数据整理代码_熬夜整理的资料:分享Python数据可视化图表代码和案例给大家...
  3. 计算机维护与维修课程简介,计算机维修与维护教学大纲.DOC
  4. Okhttp的封装和回调
  5. 计算机知识培训感言,计算机培训的心得体会
  6. 用python自动办公 百度_用Python自动办公,做职场高手,16章完整版百度云盘
  7. android用户头像保存,Android的登陆注册(sharedpreferences和SQLite保存以及头像上传显示...
  8. json-lib解析json之二维JSONArray
  9. 生信-使用NCBI进行目的基因的引物设计
  10. 自动化测试框架cucumber_10分钟学会 Cucumber+Watir 自动化测试框架
  11. 从零搭建一个vue项目
  12. idea设置单行注释格式(包括配置文件)
  13. VB 从零开始编外挂
  14. 微信小程序01:关于错误Page pages/goods_list/index has not been registered yet.的原因
  15. 当谈论研发效能时,我们到底在谈什么?|大咖圆桌精华回顾
  16. ADI Blackfin DSP处理器-BF533的开发详解1:软件和硬件的准备
  17. 基于Java技术的大型网站架构设计方案
  18. 【期末复习】2021-2022南邮网络管理理论与实践复习题
  19. 计算机课怎么上,怎样上微机课初探
  20. [LeetCode Python3]77. Combinations回溯

热门文章

  1. ESP32无限启动问题——最傻的一个情况
  2. for循环 迭代器 foreach
  3. 王者荣耀登录显示换服务器是不是封号,王者荣耀:更改登录画面等于开挂?小心封号!...
  4. javaweb基于servlet天气预报查询系统设计与实现(项目源码)
  5. 【JavaWeb】Web前端性能优化
  6. 权限管理系统 Spring-authority
  7. 创新与互动的科技盛宴:探索3DVR元宇宙赛博科技世界虚拟展
  8. 彪悍的代码不需要解释_巨魔神大人带领大家走向胜利_:P
  9. 双 11 猫晚直播:看阿里文娱如何“擒住”高并发、多视角、 低卡顿!
  10. 冈萨雷斯DIP第10章知识点