php模板引擎循环start,PHP模板引擎Smarty内建函数section,sectionelse用法详解
本文實(shí)例講述了PHP模板引擎Smarty內(nèi)建函數(shù)section,sectionelse用法。分享給大家供大家參考,具體如下:
section 是 Smarty 模板中除了 foreach 以外的另一種處理循環(huán)的方案,section 比 foreach 要靈活,就像是一個(gè)改進(jìn)的 foreach 語(yǔ)句,除了擁有相同的循環(huán)特性外,還提供了很多附加選項(xiàng),可以更好的控制循環(huán)的執(zhí)行。在模板中,必須使用成對(duì)的 section 標(biāo)記,有兩個(gè)必須設(shè)置的屬性 name 和 loop ,關(guān)于 section 的屬性請(qǐng)看下表:
屬性
類型
是否必須
缺省值
描述
name
string
Yes
n/a
該循環(huán)的名稱
loop
[$variable_name]
Yes
n/a
決定循環(huán)次數(shù)的變量名稱
start
integer
No
0
循環(huán)執(zhí)行的初始位置. 如果該值為負(fù)數(shù),開(kāi)始位置從數(shù)組的尾部算起. 例如:如果數(shù)組中有7個(gè)元素,指定start為-2,那么指向當(dāng)前數(shù)組的索引為5. 非法值(超過(guò)了循環(huán)數(shù)組的下限)將被自動(dòng)調(diào)整為最接近的合法值.
step
integer
No
1
該值決定循環(huán)的步長(zhǎng). 例如指定step=2將只遍歷下標(biāo)為0、2、4等的元素. 如果step為負(fù)值,那么遍歷數(shù)組的時(shí)候從后向前遍歷.
max
integer
No
1
設(shè)定循環(huán)最大執(zhí)行次數(shù).
show
boolean
No
true
決定是否顯示該循環(huán).
我們通過(guò)一個(gè)實(shí)例,來(lái)演示 Smarty 中 {section} 和 {sectionelse} 的使用。
實(shí)例思路:從數(shù)據(jù)庫(kù)中取出內(nèi)容,賦給一個(gè)數(shù)組變量 $_html ,再給這個(gè)數(shù)組變量分配給模板,然后在模板中進(jìn)行該數(shù)組的遍歷。
數(shù)據(jù)庫(kù)、主文件 index.php,Smarty 模板初始化文件 init.inc.php,可參考前面一篇《PHP模板引擎Smarty內(nèi)建函數(shù)foreach,foreachelse用法分析》
/tpl/index.tpl
section,sectionelse| 對(duì)不起!暫時(shí)沒(méi)有數(shù)據(jù)。 | ||||
| 循環(huán)的次數(shù)為: | ||||
執(zhí)行結(jié)果:
section 循環(huán)區(qū)域中可以使用的變量
變量名
描述
index
用于顯示當(dāng)前循環(huán)的索引,從 0 開(kāi)始(如果設(shè)置了 start 屬性,那么就由該值開(kāi)始),每次加 1,(如果指定了 step 屬性,那么由該值決定)
index_prev
用于顯示上一個(gè)循環(huán)索引值,循環(huán)開(kāi)始時(shí),此值為 -1
index_next
用于顯示下一個(gè)循環(huán)索引值,循環(huán)執(zhí)行到最后一次時(shí),此值仍然比當(dāng)前索引值大 1(如果指定了 step 屬性,那么由該值決定)
iteration
用于顯示循環(huán)的次數(shù)
first
當(dāng)前 section 循環(huán)在第一次執(zhí)行時(shí)該變量的值為 true
last
當(dāng)前 section 循環(huán)在最后一次執(zhí)行時(shí)該變量的值為 true
rownum
用于顯示循環(huán)的次數(shù),該屬性是 iteration 的別名,兩者相同
loop
用于顯示該循環(huán)上一次循環(huán)時(shí)的索引值,該值可以用于循環(huán)內(nèi)部或循環(huán)結(jié)束后
show
是 section 的參數(shù),show 取值為布爾值 true 和 false,如果設(shè)置為false,該循環(huán)將不顯示。如果指定了 sectionelse 子句,該子句是否顯示也取決于該值
total
用于顯示循環(huán)執(zhí)行的次數(shù)。不僅可以在循環(huán)中,也可以在執(zhí)行結(jié)束后調(diào)用此屬性
希望本文所述對(duì)大家基于smarty模板的PHP程序設(shè)計(jì)有所幫助。
總結(jié)
以上是生活随笔為你收集整理的php模板引擎循环start,PHP模板引擎Smarty内建函数section,sectionelse用法详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 织梦网站翻页php,dedecms织梦网
- 下一篇: git和php的区别,Git与Githu