在 Smarty 模板中,您可以使用 foreach 来重复一个区块。而在模板中则需要从 PHP 中分配过来一个数组。这个数组可以是多维数组。Smarty 中 {foreach} 标记和 PHP 中 foreach 相同,不同的是它们的一个在模板文件中使用,一个在 PHP 脚本中使用。因此,语法会不同。但是,它们的作用都是相同的,即遍历数组中的内容。与{foreach} 标记相对的还有一个{foreachelse} 标记,{foreachelse} 标记的作用是:如果数组为空,那么就执行该标记内的内容。
模板中 {foreach} 和 {/foreach} 必须是成对的出现,它有四个参数,其中, from 和 item 两个参数是必要的。关于它的参数请看下面列表:
属性
类型
是否必须
缺省值
描述
from |
string |
Yes |
n/a |
待循环数组的名称 |
item |
string |
Yes |
n/a |
当前处理元素的变量名称 |
key |
string |
No |
n/a |
当前处理元素的键名
|
name |
string |
No |
n/a |
该循环的名称,用于访问该循环 |
我们通过一个实例,来演示 Smarty 中 {foreach} 和 {foreachelse} 的使用。
实例思路:从数据库中取出内容,赋给一个数组变量 $_html ,再给这个数组变量分配给模板,然后在模板中进行该数组的遍历
test.sql (使用到的 SQL 数据)
init.inc.php (模板初始化文件)
index.php(主文件)
tpl/index.tpl(主文件 index.php 的模板文件)
执行结果:
最后总结下,主文件 index.php 中传递过去的数组 $_html 为二维数组。保留变量 $smarty.foreach 的使用都是基于 {foreach} 标记中的 name 属性,使用到的保留变量属性有:first(首条记录)、last(末条记录)、iteration(总是从 1 开始,每执行一次增加 1)、total(用于显示循环执行的次数)
分享到:
相关推荐
主要介绍了PHP模板引擎Smarty内建函数foreach,foreachelse用法,结合实例形式分析了foreach,foreachelse的功能与具体使用技巧,需要的朋友可以参考下
主要介绍了smarty模板引擎使用内建函数foreach循环取出所有数组值的方法,实例分析了foreach循环遍历数组的几种常用技巧,需要的朋友可以参考下
smarty模板引擎之内建函数用法_.docx
smarty内建函数
在实际操作中与section 功能一样,但foreach在Smarty一般用来处理一维数组。2、include 多功能使用3、IF条件语句的使用4、literal strip 文本的处理技巧 literal 数据将被当作文本处理,此时模板将忽略其内部的所有...
主要介绍了smarty内置函数foreach用法,实例分析了smarty内置的foreach函数使用技巧与相关注意事项,需要的朋友可以参考下
主要介绍了smarty模板引擎之内建函数用法,实例分析了smarty中foreach函数、if...else...、if...elseif...elseif...else...等内建函数的使用方法,具有一定参考借鉴价值,需要的朋友可以参考下
Smarty是一个使用PHP写出来的PHP模板引擎,目的是要使用PHP程序同美工分离,使的程序员改变程序的逻辑内容时不会影响到美工的页面设计,美工重新修改页面时不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为...
与我们在PHP中的foreach用法类似,同样是用来遍历数组。在实际操作中与 section 功能一样,但foreach在Smarty一般用来处理一维数组。 2、include 多功能使用 3、IF条件语句的使用 4、literal strip 文本的处理...
PHP100视频教程29:PHP模板引擎Smarty内置函数.rar
Smarty是一个使用PHP写出来的PHP模板引擎,目的是要使用PHP程序同美工分离,使的程序员改变程序的逻辑内容时不会影响到美工的页面设计,美工重新修改页面时不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为...
1、foreach 数组的处理 2、include 多功能使用 3、IF条件语句的使用 4、literal strip 文本的处理技巧
主要介绍了PHP模板引擎Smarty内建函数用法,结合实例形式分析了smarty中常见的内建函数功能,定义与使用方法,需要的朋友可以参考下
$smarty= Smarty::instance(); 模板 之前的smarty模板,相当于重新定义了一套标签语言,那么smarty3提供了一种新的模板形式,直接支持php语法的模板。 但是问题就出来了,我们还有必要用模板吗? 引用php类型模板...
主要介绍了smarty模板引擎中内建函数if、elseif和else的使用方法,通过两个示例分析了if、elseif和else的使用技巧,需要的朋友可以参考下
php模版 (smarty)php模版 (smarty)php模版 (smarty)php模版 (smarty)php模版 (smarty)php模版 (smarty)php模版 (smarty)
1、Smarty介绍及应用的优缺点 2、Smarty的配置 3、Smarty的应用:变量,循环…
公用的smarty类库和相关信息,将smarty放在服务器根目录下,配置信息写在一个文件中,用的时候include下配置文件。 smarty的变量有以下三部分: a 来自php页面中的变量,即assign()方法传过来的变量; 在tpl模板中...
smarty中section的使用 smarty section php