PHP模板引擎Smarty內建函數section,sectionelse用法詳解,smartysectionelse
本文執行個體講述了PHP模板引擎Smarty內建函數section,sectionelse用法。分享給大家供大家參考,具體如下:
section 是 Smarty 模板中除了 foreach 以外的另一種處理迴圈的方案,section 比 foreach 要靈活,就像是一個改進的 foreach 語句,除了擁有相同的迴圈特性外,還提供了很多附加選項,可以更好的控制迴圈的執行。在模板中,必須使用成對的 section 標記,有兩個必須設定的屬性 name 和 loop ,關於 section 的屬性請看下錶:
| 屬性 |
類型 |
是否必須 |
預設值 |
描述 |
| name |
string |
Yes |
n/a |
該迴圈的名稱 |
| loop |
[$variable_name] |
Yes |
n/a |
決定迴圈次數的變數名稱 |
| start |
integer |
No |
0 |
迴圈執行的初始位置. 如果該值為負數,開始位置從數組的尾部算起. 例如:如果數組中有7個元素,指定start為-2,那麼指向當前數組的索引為5. 非法值(超過了迴圈數組的下限)將被自動調整為最接近的合法值. |
| step |
integer |
No |
1 |
該值決定迴圈的步長. 例如指定step=2將只遍曆下標為0、2、4等的元素. 如果step為負值,那麼遍曆數組的時候從後向前遍曆. |
| max |
integer |
No |
1 |
設定迴圈最大執行次數. |
| show |
boolean |
No |
true |
決定是否顯示該迴圈. |
我們通過一個執行個體,來示範 Smarty 中 {section} 和 {sectionelse} 的使用。
執行個體思路:從資料庫中取出內容,賦給一個陣列變數 $_html ,再給這個陣列變數分配給模板,然後在模板中進行該數組的遍曆。
資料庫、主檔案 index.php,Smarty 模板初始設定檔案 init.inc.php,可參考前面一篇《PHP模板引擎Smarty內建函數foreach,foreachelse用法分析》
/tpl/index.tpl
section,sectionelse
| 編號(iteration) |
編號(rownum) |
姓名 |
電子郵件 |
添加時間 |
<{section loop=$data name="ls" max="100" start="0" step="2" }> <{if $smarty.section.ls.first}>
<{elseif $smarty.section.ls.last}>
<{else}>
<{/if}>
| <{$smarty.section.ls.iteration}> |
<{$smarty.section.ls.rownum}> |
<{$data[ls].username}> |
<{$data[ls].email}> |
<{$data[ls].addTime}> |
<{sectionelse}>
| 對不起!暫時沒有資料。 |
<{/section}> <{if $data}>
| 迴圈的次數為:<{$smarty.section.ls.total}> |
<{/if}>
執行結果:
section 迴圈地區中可以使用的變數
| 變數名 |
描述 |
| index |
用於顯示當前迴圈的索引,從 0 開始(如果設定了 start 屬性,那麼就由該值開始),每次加 1,(如果指定了 step 屬性,那麼由該值決定) |
| index_prev |
用於顯示上一個迴圈索引值,迴圈開始時,此值為 -1 |
| index_next |
用於顯示下一個迴圈索引值,迴圈執行到最後一次時,此值仍然比當前索引值大 1(如果指定了 step 屬性,那麼由該值決定) |
| iteration |
用於顯示迴圈的次數 |
| first |
當前 section 迴圈在第一次執行時該變數的值為 true |
| last |
當前 section 迴圈在最後一次執行時該變數的值為 true |
| rownum |
用於顯示迴圈的次數,該屬性是 iteration 的別名,兩者相同 |
| loop |
用於顯示該迴圈上一次迴圈時的索引值,該值可以用於迴圈內部或迴圈結束後 |
| show |
是 section 的參數,show 取值為布爾值 true 和 false,如果設定為false,該迴圈將不顯示。如果指定了 sectionelse 子句,該子句是否顯示也取決於該值 |
| total |
用於顯示迴圈執行的次數。不僅可以在迴圈中,也可以在執行結束後調用此屬性 |
更多關於PHP相關內容感興趣的讀者可查看本站專題:《smarty模板入門基礎教程》、《PHP模板技術總結》、《PHP基於pdo操作資料庫技巧總結》、《PHP運算與運算子用法總結》、《PHP網路編程技巧總結》、《PHP基本文法入門教程》、《php物件導向程式設計入門教程》、《php字串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家基於smarty模板的PHP程式設計有所協助。
您可能感興趣的文章:
- PHP模板引擎Smarty內建函數詳解
- PHP模板引擎Smarty內建變數調解器用法詳解
- PHP模板引擎Smarty自訂變數調解器用法
- PHP模板引擎Smarty中的保留變數用法分析
- PHP模板引擎Smarty內建函數foreach,foreachelse用法分析
- PHP模板引擎Smarty之設定檔在模板變數中的使用方法樣本
- PHP模板引擎Smarty中變數的使用方法樣本
- smarty模板引擎從php中擷取資料的方法
- ThinkPHP使用smarty模板引擎的方法
- 在PHP模板引擎smarty產生隨機數的方法和math函數詳解
- PHP模板引擎Smarty的緩衝使用總結
- php smarty模板引擎的6個小技巧
- [PHP]模板引擎Smarty深入淺出介紹
http://www.bkjia.com/PHPjc/1119970.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1119970.htmlTechArticlePHP模板引擎Smarty內建函數section,sectionelse用法詳解,smartysectionelse 本文執行個體講述了PHP模板引擎Smarty內建函數section,sectionelse用法。分享給大家...