首頁  >  文章  >  後端開發  >  smarty中的section循環的詳細用法

smarty中的section循環的詳細用法

ringa_lee
ringa_lee原創
2017-06-16 11:49:512035瀏覽
該迴圈的名稱決定循環次數的變數名稱循環執行的初始位置. 如果該值為負數,開始位置從數組的尾部算起. 例如:如果數組中有7個元素,指定start為-2,那麼指向當前數組的索引為5. 非法值(超過了循環數組的下限)將被自動調整為最接近的合法值.該值決定循環的步長. 例如指定step=2只會遍歷下標示為0、2、4等的元素. 如果step為負值,那麼遍歷數組的時候從後向前遍歷.#設定迴圈最大執行次數.決定是否顯示該循環.
屬性 類型 是否必須 預設值 描述
##name string Yesn/a
loop [$variable_name] Yesn /a
start integer No0
step integer No1
max integer No1
#show boolean No#true
#######


{section loop = $varName[, start = $start, step = $step, max = $max, show = true]}
name: section的名稱,不用加$
$loop: 要循環的變量,在程式中要使用assign對這個變數進行操作。
$start: 開始循環的下標,循環下標預設由0開始
$step: 每次循環時下標的增數
$max: 最大循環下標
$show: boolean類型,決定是否對這個區塊進行顯示,預設為true

這裡有個名詞需要說明:
循環下標:實際它的英文名稱為index,是索引的意思,這裡我將它譯成"下標",主要是為了好理解。它表示在顯示這個循環區塊時當

前的循環索引,預設從0開始,受$start的影響,如果將$start設為5,它也將從5開始計數,在模板設計部分我們使用過它,這是目前

{section}的屬性,呼叫方式為Smarty.section.sectionName.index,這裡的sectionName指的是函數原型中的name屬性。
{section}區塊具有的屬性值,分別為:
1. index: 上邊我們介紹的"循環下標",預設為0
2. index_prev: 目前下標的前一個值,預設為-1
3. index_next: 目前下標的下一個值,預設為1
4. first: 是否為第一下循環
5. last: 是否為最後一個循環
6. iteration: 循環次數
7. rownum: 目前的行號,iteration的另一個別名
8. loop: 最後一個循環號,可用在section塊後統計section的循環次數
9. total:循環次數,可用在section塊後統計循環次數
10. show: 在函數的聲明中有它,用於判斷section是否顯示
*foreach循環
1. foreach:用於循環簡單數組,它是一個選擇性的section循環,它的定義格式為:
{foreach from=$array item=array_id}
{foreachelse}
{/foreach}
其中,from 指出要迴圈的數組變量,item為要循環的變數名稱,循環次數由from所指定的數組變數的數量決定。 {foreachelse}用來當程式中傳遞過來的陣列為空時的處理,以下是一個簡單的例子:
====================== =====================
example6.tpl
==================== =======================

<html>
<head><title>这是一个foreach使用的例子</title></head>
<body>
这里将输出一个数组:<br>
<{foreach from=$newsArray item=newsID}>
新闻编号:<{$newsID.newsID}><br>
新闻内容:<{$newsID.newsTitle}><br><hr>
<{foreachelse}>
对不起,数据库中没有新闻输出!
<{/foreach}>
</body>
</html>


#

以上是smarty中的section循環的詳細用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn