18842388900

网站建设 APP开发 小程序

Article/文章

记录成长点滴 分享您我感悟

您当前位置>首页 > 知识 > 网站建设

使用Smarty循环标签

有两种方法可以在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

网站建设,小程序开发,小程序制作,微信小程序开发,公众号开发,微信公众号开发,网页设计,网站优化,网站排名,网站设计,微信小程序设计,小程序定制,微信小程序定制

相关案例查看更多