Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产又黄又爽又猛的免费视频播放 ,国产人妖cdmagnet,亚洲精品一区二区三区香蕉在线看

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          框架中視圖引擎中的數據循環

          框架中視圖引擎中的數據循環

          利用視圖引擎的assign方法可以將包括數組在內的數據分配到模版處理。在模版中,開發人員可以使用傳統的下標或索引取到數組內的數據,例如$list["title"]。這種方式只能獲取到單一的數據,如果一個數組集合中存在大量的數據(例如數據表集),那么就需要使用循環語句逐條讀取。ThinkPHP默認的模版引擎提供了3種數據循環方式,分別為volist、foresch以及for標簽。這3對標簽可以混合使用,但它們都有各自的適用對象,下面分別進行介紹。

          1、vilist標簽

          volist標簽是一對功能強大,使用方便的數據循環標簽,它支持多維數組或一維數組的循環。由于它容易使用,并且語法靈活,所以在ThinkPHP模版中該標簽比較常見。volist標簽被模版引擎解釋后將轉換成foreach()...endforeach語句。一條簡單的volist標簽語句格式如下代碼所示。


          如上代碼所示,數據源支持PHP所有數組(不支持對象),臨時變量名稱可以自定義,該變量名決定了在循環體中可以使用的數組名稱。為了方便演示,這里將在控制器index動作中定義個多維數組,如下代碼所示

          上述代碼定義了1個數組,并定義了3條數據。在index.html中可以使用volist標簽將數組數據循環輸出代碼如下所示

          如上述代碼所示,list為數組變量,該變量由index動作分配。在標簽中直接引用變量只需要變量名即可,不需要定界符和”$"符號。$vo是一個臨時變量(由volist標簽id值指定),所有等待循環的數據都被存放在該變量中,$vo.user_name表示輸出數組中的user_name鍵對應值,讀者還可以像傳統的PHP那樣寫成$vo[‘user_name']。

          在實際應用中,一般只需要使用volist標簽的name和id屬性即可完成大多數的數據循環。ThinkPHP為了能夠使volist標簽更佳靈活,還提供了另外一些實用的可選屬性,,這些屬性如下

          ● offset:起始數據序列

          ● length:數據結束序列

          ● key:數據循環式的臨時變量,相當于從0開始的索引號,默認變量名為i。

          ● mod:對key值取模

          ● empty:當那么數組為空時顯示的字符串信息

          offset和length配合使用能夠實現簡單的數據分頁功能,如果數組信息過多,可以使用offset和length分片輸出,如以下代碼所示

          上述代碼標志只循環索引號2~5之間的數據,利用offset和length屬性,可以方便地控制頁面中的局部數據。

          2、foreach標簽

          foreach標簽是volist標簽的簡化版,使用方式一樣,最終生成的PHP代碼也一樣,唯一不同的就是foreach標簽不支持volist中可選屬性(只支持key)。另外,foreach不僅可以循環PHP數組,還可以循環對象。foreach的臨時變量使用item代替volist中的id。如下代碼所示

          3、for標簽

          for標簽也是一種可以實現數據循環的標簽,最終生成的嗲嗎就是PHP中的for語句塊。無論是簡潔性、易用性還是程序的運行速度都不及volist、foreach標簽。但for標簽不僅可以循環數組,還可以循環普通的PHP變量、函數等,常用在局部統計、更新等場合。for標簽格式如下

          一條簡單的for標簽語句只需要開始值和結束值即可,這些變量值都支持模版或者控制器動作中的變量值,如下代碼所示

          在for標簽中使用變量與volist、foreach標簽不同,在for標簽中使用變量必須在變量名稱上加上"$",并且變量不支持“|”函數引用符號。for標簽可選屬性如下

          ● comparison:start和end的條件,默認為lt(小于)。常用的有elt(等于活小于)、eq(等于)。

          ●step:步進條數

          ●name:循環時變量名,默認為i。

          些天向大家分享了一些ThinkPHP操作數據庫的教程,不過一下子要記住這么多東西不是一件容易的事情,所以大家需要在實戰中邊開發邊學習,才能更輕松的掌握技能。今天,我要向大家分享如何使用ThinkPHP模版標簽來實現循環輸出功能。

          圖片來自網絡

          ThinkPHP內置很多模版標簽,今天我只向大家分享循環輸出標簽。以后會逐漸分享其他常用模板標簽的用法。

          ThinkPHP內置模版標簽

          Foreach

          Foreach標簽用來循環輸出數據,通常用于輸出數據庫select查詢結果,如下所示。

          控制器代碼

          模板代碼

          最終輸出結果如下:

          輸出結果

          在foreach標簽中,name為控制器賦值的變量名(users),item為循環內的變量名(user)。

          Volist

          Volist標簽與Foreach類似,不過它擁有更多用法,最基本用法如下:

          Volist基本用法

          輸出結果

          可以看到,Volist標簽中只是把item換成id,其他完全相同。

          但是如果我們只需要輸出第1-10(注意數組是從0開始的)條數據,可以這樣用:

          Volist的offset用法

          輸出結果

          如果數據為空時,我們還可以使用empty屬性來輸出指定信息:

          Volist的empty用法

          輸出結果

          由于我們使用Table來輸出數據,而empty不支持直接傳入html標簽,所以“無用戶信息”被解析到了table外。我們可以這樣解決:

          控制器賦值empty

          Volist的empty接收變量

          輸出結果

          For

          for標簽的用法很簡單,如下:

          <for start="開始值" end="結束值" step="步進值" name="循環變量名" >輸出內容</for>

          開始值、結束值、步進值和循環變量都可以支持變量,開始值和結束值是必須,其他是可選。name的默認值是i,步進值的默認值是1,舉例如下:

          for標簽用法

          輸出結果

          結論

          在開發中,我們需要經常用到循環輸出功能,掌握循環輸出的用法志在必得。

          如果您覺得小編的教程對您有所幫助,請點擊關注支持小編,您的關注是對小編最大的鼓勵。

          P的標簽給我一種很復雜的感覺。可能是別的框架的寫法太簡潔了吧。

          但是好處也是有的......下面會說到。其實也是各有利弊了。也不能說誰是絕對的好。

          最常見的幾個標簽,if,foreach,

          for。foreach以前講過。

          寫法也簡單,{foreach $ a as $ v} {/ foreach}

          這個看起來比較簡潔。也是最易容的一個標簽。

          也可以用原來的寫法name='a'item='v'。

          對比上面的不難看出來對應的是啥。

          對于foreach標簽,有一個強化版的標簽。叫做ovlist標簽。

          格式也略不同{volist name='a'id='v'} {/ volist}

          這樣的功能和foreach一樣。但是可以多很多參數。offset

          ='

          11'length='20' 在id后面加上上面的參數就會多出這樣的功能,取出第11條-20的條數據

          參數MOD是輸出某某某條數。

          比如輸出偶數條數就是MOD='2'

          還有另外一個作用就是做判斷。如果輸出了多少條數據,額外輸出某些內容。

          {eq name=' mod'value='4'}

          {/ eq}

          如果查詢的 數據為空的時候可以用空來輸出。

          空='xxx'的不支持直接HTML語法,可以插入變量。提前用分配來賦值。

          為標簽

          開始一直沒看到for標簽里的比較是啥意思。也不懂默認值it is啥意思。原來是條件的意思,默認值是小于。

          {for start=' 1'end='100'} {對于}

          這是最簡單的寫法解析后是

          為($ I=1; $ I <100; $ I +=1)

          。當然很多地方需要改,首先的英文我不一定就是小于一定的數值

          我們添加比較=” xx'來修改

          。xx根據比較標簽來改。

          我不想就+1是,也許是+2,那么加上step

          step='2'就好了

          我不喜歡$ i我要用$ n,那么就加上name'n'就好了

          ,如果標簽

          如果標簽不是直接的,如果()了

          分為三種寫法。

          {if condition='xx'}

          {if(xx)}

          {if xx}

          一套完整的就是

          {if xxx} v1

          {elseif xxx} v2

          {else /} v3

          {/ if}

          大致這樣子。了解這三個標簽剩下的就是自己組合了



          原文地址:http : //blog.itbool.com/home/article/index/article_id/76.html


          主站蜘蛛池模板: 亚洲av高清在线观看一区二区| 国产在线精品一区二区不卡麻豆| 精品国产一区二区三区香蕉| 亚洲Av无码一区二区二三区| 国产成人精品亚洲一区 | 亚洲福利视频一区二区三区| 国产吧一区在线视频| 日韩A无码AV一区二区三区| 精品亚洲一区二区三区在线观看| 麻豆AV一区二区三区| 国产一区在线观看免费| 男插女高潮一区二区| 久久精品无码一区二区三区日韩 | 无码精品人妻一区二区三区免费| 中文字幕亚洲一区二区va在线| 亚洲一区在线免费观看| 三上悠亚一区二区观看| 无码人妻一区二区三区精品视频| 无码少妇一区二区性色AV| 国产一区二区三区在线免费观看| 亚洲国产视频一区| 无码人妻一区二区三区在线| 国产A∨国片精品一区二区 | 亚洲片一区二区三区| 国产激情一区二区三区在线观看 | 爱爱帝国亚洲一区二区三区| 狠狠综合久久AV一区二区三区| 精品视频一区二区三区在线播放| 亚洲精品精华液一区二区| 丰满爆乳无码一区二区三区| 精品无码一区二区三区爱欲| 国产日韩一区二区三免费高清| 亚洲国产高清在线一区二区三区| 国产一区高清视频| 国产观看精品一区二区三区 | 亚洲av无码一区二区三区乱子伦| 插我一区二区在线观看| 99精品国产高清一区二区三区 | 99精品国产高清一区二区三区| 日韩制服国产精品一区| 久久综合九九亚洲一区|