线上服务咨询
使用Smarty循环标签
发表时间:2019-07-30 16:27:03
文章来源:沈阳软件开发
标签:网站建设 小程序开发 小程序制作 微信小程序开发 公众号开发 微信公众号开发 网页设计 网站优化 网站排名 网站设计 微信小程序设计 小程序定制 微信小程序定制
浏览次数:0
有两种方法可以在php smarty模板引擎中循环数据:foreach和section循环。我们来看看以下两个循环。
(1)smarty foreach 循环
Foreach用于迭代关联数组,如循环索引数组。与只能访问数字索引数组的部分不同,foreach语法比部分语法简单得多,但作为折衷方案,它只能用于单个数组。每个foreach标记必须与close标记/foreach成对出现。
foreach循环有四个属性,from,item,name和key,其中from和item是必需的。
Foreach循环可以嵌套,嵌套的foreach的名称应该不同。
当from属性没有值时,将执行{foreachelse}片段。
foreach循环也有自己的属性变量,可以通过{$ smarty.foreach.name.property}访问,其中'name'是name属性。例如:
$ smarty.foreach.name.index当前数组索引,从零开始。
$ smarty.foreach.name.iteration与索引不同,当前循环数从1开始,每次递增1。
当前{foreach}循环处于其初始位置时,$ smarty.foreach.name.first为TRUE。
当前{foreach}循环处于最终位置时,$ smarty.foreach.name.last的值为TRUE。
$ smarty.foreach.name.show show是{foreach}的参数。 show是一个布尔值。如果值为FALSE,则不会显示{foreach}。如果有相应的{foreachelse},则会显示。
$ smarty.foreach.name.total total包括{foreach}将在{foreach}或更晚的循环次数。
注意:name属性仅在您需要访问{foreach}属性时有效,与{section}不同。访问未定义名称的{foreach}属性不会引发错误,但会导致不可预测的结果。
例如:
{foreach from=$ newsList item=news key=newsId name=news}
Php smarty foreach循环示例
{/foreach}的(2)smarty section 循环
{section name='sn'love='$ BusinesList4'}
{$ smarty.section.sn.index + 1} {$ BusinesList4 [SN] 0.2} {/部分}可以看出索引和关联数组都非常方便使用。以下描述了该部分中每个属性的描述:
1、smarty section中的属性
名称:(必需)是节循环的名称,仅表示循环的唯一名称没有特殊含义,前面没有$符号;
循环:(必需)是php声明中变量的名称,用于指示要循环的数组(即循环数组名称)需要使用$;
Start:(可选)循环执行的初始位置。如果值为负,则从数组末尾开始计算起始位置。例如:如果数组中有7个元素且start指定为-2,则当前数组的索引为5.非法值(超出循环数组的下限)将自动调整为最接近的合法值。
步骤:(可选)是其他语言的一个步骤,如果是负数,则反向循环;
最大:(可选)循环的最大下标。如果是1,它只会循环一次。如果它是2,它将循环两次;
显示:(可选)默认为true。如果设置了{sectionelse}。表示如果数组没有内容,则显示此部分;如果show为false,则显示此信息。如果未设置{sectionelse},则不会输出数组。
2、smarty中section中的变量
索引:用于显示当前循环的索引,从0开始(如果指定了start属性,则从该值开始),每次加1(如果指定了step属性,则由该值确定)。如果没有step和start属性,它就像迭代一样,但是从0开始。
Index_prev:用于显示最后一个循环索引值。循环开始时,该值为-1。
Index_next:用于显示下一个循环索引值。当循环执行到最后一次时,该值仍然大于当前索引值(如果指定了step,则取决于此值)。
迭代:用于显示循环次数。迭代与index属性不同,index属性受start,step和max属性的影响,值始终从1开始(索引从0开始)。 rownum是迭代的别名,它是等价的。
第一个:如果第一次执行当前循环,则first设置为true。
Last:如果当前循环执行到最后一次,则last设置为true。
Rownum:用于显示循环次数。此属性是迭代的别名,它是等效的。
循环:用于显示循环最后一个循环的索引值。该值可以在循环内部或循环结束后使用。
显示:是节的参数。 show的值是布尔值true或false。如果设置为false,则不会显示循环。如果指定了sectionelse子句,则该语句也将取决于值。
总计:用于显示循环执行的总数。可以在循环中或执行后调用此属性。
简单的例子:
{section name=loop loop=6} id: {$ smarty.section.loop.index + 1} {/section}
Smarty部分嵌套循环示例:
{section name=“sn”loop=“$ dis_cType”} {$ BusinesList=$ {$ dis_cType [sn] .2}} {section name=sn2 loop=$ BusinesList}
{$ smarty.section.sn2.index + 1} {$ BusinesList [SN2] 0.2} {/部分} {/部分} 标签:& nbsp& nbsp沈阳网站建设& nbspMarketing type 网站建设& nbsphtml5 development网站建设,小程序开发,小程序制作,微信小程序开发,公众号开发,微信公众号开发,网页设计,网站优化,网站排名,网站设计,微信小程序设计,小程序定制,微信小程序定制