線上服務咨詢
Article/文章
記錄成長點滴 分享您我感悟
使用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網站建設,小程序開發,小程序制作,微信小程序開發,公眾號開發,微信公眾號開發,網頁設計,網站優化,網站排名,網站設計,微信小程序設計,小程序定制,微信小程序定制