PHP模板引擎Smarty內建函數section,sectionelse用法詳解,smartysectionelse_PHP教程

來源:互聯網
上載者:User

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 
  <{section loop=$data name="ls" max="100" start="0" step="2" }>     <{if $smarty.section.ls.first}> 
   
     <{elseif $smarty.section.ls.last}> 
   
     <{else}> 
   
     <{/if}> 
     <{sectionelse}>  
    <{/section}> <{if $data}>  
    <{/if}> 
  
編號(iteration) 編號(rownum) 姓名 電子郵件 添加時間
<{$smarty.section.ls.iteration}> <{$smarty.section.ls.rownum}> <{$data[ls].username}> <{$data[ls].email}> <{$data[ls].addTime}>
對不起!暫時沒有資料。
迴圈的次數為:<{$smarty.section.ls.total}>

執行結果:

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用法。分享給大家...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.