php模板引擎循環start,PHP模板引擎Smarty內建函數section,sectionelse用法詳解

本文實例講述了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)姓名電子郵件添加時間
對不起!暫時沒有數據。
循環的次數為:

執行結果:

5b75e4a567431bf3ee38c2248bf46f2a.gif

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

用于顯示循環執行的次數。不僅可以在循環中,也可以在執行結束后調用此屬性

希望本文所述對大家基于smarty模板的PHP程序設計有所幫助。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281647.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281647.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281647.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

OpenHarmony操作系統與龍芯2K1000LA芯片完成適配,龍架構平臺獲得開源鴻蒙認證

近日,龍芯中科與軟通動力控股公司鴻湖萬聯共同完成OpenHarmony操作系統與龍芯2K1000LA處理器的適配,“乘風1000”開發板(搭載龍芯2K1000LA)榮獲OpenHarmony生態產品兼容性證書。至此,萬物互聯的OpenHarmony生態體系再次…

struts2開發action 的三種方法以及通配符、路徑匹配原則、常量

struts2開發action 的三種方法 1、繼承ActionSupport public class UserAction extends ActionSupport {// Action中業務處理方法public String login() {System.out.println("UserAction.login()"); // return "success";return SUCCESS;} } 2、實現…

閉包--閉包作用之保護(一)

閉包作用:保護 形成私有作用域,保護里面的私有變量不受外界干擾例如多人協作開發&#xff1a;A的代碼有fn(),B的代碼有fn(),但是他們不相互影響 // A的代碼<script>(function() {function fn1() {console.log("aa")}window.fn1 fn1;})()// window.fn1() //11&…

left join 和 inner join

2019獨角獸企業重金招聘Python工程師標準>>> left join 和 inner join 首先 MySQL 中 inner join 的效率確實要高于 left join。所以沒必要使用 left join 轉彎成 inner join 的效果。這樣不但效率降低&#xff0c;可讀性也會降低。 Number1 select from t1 left j…

oracle 數據庫中拆分,oracle數據庫字符串拆分

第一種 直接返回切分的字符串create or replace function Get_StrArrayLength(av_str varchar2,--要分割的字符串av_split varchar2 --分隔符號)return numberislv_str varchar2(1000);lv_length number;beginlv_str:ltrim(rtrim(av_str));lv_length:0;while instr(lv_str,av_s…

Vue3+.NET6,輕松開發管理后臺!(可復用)

在GitHub是沒找到簡單好用的Vue3.NET6管理后臺項目&#xff0c;有收藏的請評論區分享。這里分享一套Vue3 Axios TS Vite Element Plus .NET 6 WebAPI JWT SqlSugar的通用管理后臺&#xff0c;前后端分離架構&#xff0c;各種最新框架組件&#xff0c;實現了管理后臺幾乎…

iOS網絡請求安全認證(JWT,RSA)

在網絡世界中&#xff0c;安全是一個很重要的問題&#xff0c;以往的HTTP請求已經不能承擔這個安全任務&#xff0c;抓包工具一抓&#xff0c;你的所有網絡請求全都曝光。當然&#xff0c;你可能會采用加密算法來加密數據&#xff0c;但是這仍然不夠。 在移動端和服務器的通信過…

微信小程序黑客馬拉松即將開始,來做最酷的 Mini Program Creators!

微信小程序黑客馬拉松正式啟動 近日&#xff0c;小程序斬獲一項世界級殊榮——作為一項全新的技術和應用創新&#xff0c;小程序首次獲選世界互聯網領先科技成果。目前小程序應用數量已超過 100 萬&#xff0c;覆蓋了 200 多個細分行業&#xff0c;日活用戶達到 2 億。 微信小程…

oracle 文件寫 n r,[oracle]log_archive_dest_n與DB_RECOVERY_FILE_DEST

DB_RECOVERY_FILE_DEST參數是默認的flashrecovery area的路徑&#xff0c;里面存放有歸檔日志、閃回日志以及rman的備份文件等文件。LOG_ARCHIVE_DEST_n參數是存放歸檔日志的路徑&#xff0c;n表示1~10的一個整數&#xff0c;由于歸檔日志在recovery的時候擔當了重要的角色&…

記一次 .NET 某娛樂聊天流平臺 CPU 爆高分析

一&#xff1a;背景 1.講故事前段時間有位朋友加微信&#xff0c;說他的程序直接 CPU100%&#xff0c;每次只能手工介入重啟&#xff0c;讓我幫忙看下到底怎么回事&#xff0c;哈哈&#xff0c;這種CPU打滿的事故&#xff0c;程序員壓力會非常大, 我讓朋友在 CPU 高的時候抓 2 …

linux下mariadb大小寫敏感

2019獨角獸企業重金招聘Python工程師標準>>> Linux下安裝好mariadb后&#xff0c;在使用時會發現mariadb對大小寫敏感&#xff0c;這對開發帶來一定的不利&#xff0c;這時只要在配置文件中配置一下&#xff0c;取消大小寫敏感即可&#xff1a; sudo vi /etc/MySQL/…

評論列表顯示及排序,個人中心顯示

1.顯示所有評論{% for foo in ques.comments %} 2.所有評論排序uquestion db.relationship(Question, backrefdb.backref(comments, order_bycreat_time.desc)) 3.顯示評論條數{{ ques.comments|length }} 1題代碼如下&#xff1a; <h3>評論區:({{ ques.comments|length…

軟件工程現行國標匯集

GB/T 8566-2007 《信息技術 軟件生存周期過程》GB/T 8567-2006 《計算機軟件文檔編制規范》 GB/T 9385-2008《計算機軟件需求規格說明規范》GB/T 9386-2008 《計算機軟件測試文檔編制規范》 GB/T 11457-2006《信息技術 軟件工程術語》GB/T 14394-2008《計算機軟件可靠性和可維護…

oracle listagg方法,Oracle實現字符串拼接和分離功能的方法(LISTAGG函數),oraclelistagg...

Oracle實現字符串拼接和分離功能的方法(LISTAGG函數)&#xff0c;oraclelistagg字符串拼接(String Aggregation Techniques)是數據處理時經常需要用到一個技術&#xff0c;比如需要按時間順序拼裝一個快遞的運輸記錄&#xff0c;或者將流程中各個環節的處理人拼裝為一個字符串。…

他倆都曾是技術大牛,創業這些年來有怎樣的苦與樂?

這是頭哥侃碼的第263篇原創國慶假期回來&#xff0c;「頭哥嘮 B 嘮」的直播仍在繼續。這次我邀請了我工作上的老板和朋友&#xff0c;一起聊了聊關于 “技術創業路上的苦與樂”。熟悉他們兩位的都知道&#xff0c;可以說是技術出身&#xff0c;然后創業當老板的代表。大家都知道…

maven,gradle本地緩存位置

gradle: 配置系統環境變量GRADLE_USER_HOME即可&#xff0c;值為緩存位置。 maven: 修改settings文件&#xff1a;maven的home路徑下的conf文件夾下的settings.xml 對于有些IDEA&#xff0c;還需要配置。但是不要再打開項目后的FILE-->settings配置&#xff0c;而是需要在選…

git和php的區別,Git與Github的有什么區別

Git是一款免費&#xff0c;開源的分布是版本&#xff0c;用于敏捷高效的處理任何或小或大的項目。分布式相對于集中式的最大區別在于開發者可以提到本地&#xff0c;每個開發者通過克隆&#xff0c;在本地磁盤內拷貝一個完整的GIt倉庫。Git的功能特性&#xff1a;1.從服務器上克…

E20171214-sl

well-grounded  地基打的好 relevent adj. 有關的&#xff0c;中肯的; 相關聯的proposal n. 建議; 提議; 求婚; 〈美〉投標;轉載于:https://www.cnblogs.com/lancgg/p/8281675.html

客戶端嵌套 Web 頁面如何選擇

客戶端嵌套 Web 頁面如何選擇客戶端嵌套 Web 頁面如何選擇作者&#xff1a;驚鏵在使用客戶端嵌套WEB頁面有一下幾種方案&#xff1a;WebView2[1]Electron[2]NW.js[3]sciter[4]miniblink[5]現在國內眾多桌面程序都是用了以下五種&#xff0c;因為它跨平臺更為方便&#x1f447;。…

每天練習50個shell

1、統計日志每天IP訪問量前十 awk {print $1} 1.log | sort -n | uniq -c | sort -n 解釋&#xff1a;&#xff08;1&#xff09;awk 命令在分段方面比較有優勢&#xff0c;這里的{print $1}將第一段打印出來&#xff0c;awk可以用-F指定分隔符&#xff0c;如果不指定分隔符&am…