首頁 >後端開發 >php教程 >ThinkPHP中foreach和volist的差別

ThinkPHP中foreach和volist的差別

巴扎黑
巴扎黑原創
2016-11-09 14:40:011282瀏覽

1.foreach標籤
foreach標籤用於循環輸出:
foreach(name,item,key)
name(必須):要輸出的資料模板變數
item(必須):循環單原變數
key(可選) :循環的key變數,預設值為key
範例:

 {$vo.id}
 {$vo.name}

foreach標籤相對於volist標籤簡潔,沒有volist標籤多功能。優點是可以對物件進行遍歷輸出,而volist標籤通常是用於輸出陣列。

2.volist標籤
volist標籤主要用於在模板中循環輸出資料集或多維數組
volist(name,id,offset,length,key,mod,empty)
name(必須):要輸出的資料模型變數
id(必須):循環變數
offset(可選):要輸出資料的offset
length(可選):輸出資料的長度
key(可選):循環的key變數,預設值為i
mod (可選):對key值取模,預設為2(用於偶數行查詢等)
empty(可選):如果資料為空顯示的字串

通常模型的select方法傳回的結果是二維數組,可以直接使用volist標籤進行輸出。
在Action中先將範本賦值:
$user=M('User');
$list=$user->select();
$this->assign('list',$list);
$this ->display();
在範本定義如下,輸出編號和姓名

 {$vo.id}
 {$vo.name}

支援輸出部分資料,例如輸出其中的第5-15筆記錄:

 {$vo.id}
 {$vo.name}

輸出偶數行記錄:

 {$vo.name}

 
{$vo.name}

 
{$vo.name}

{$vo.name}




輸出循環變數:

{$k}.{$vo.name}

{$k}.{$vo.name},例如:

{$i}.{$vo.name}

如果要輸出數組的索引,可以直接使用key變量,和循環變量不同的是,這個key是由數據本身決定,而不是循環控制的,例如:

{$key}.{$vo.name}

volist還有一個別名iterate,用法和volist是一樣。

從2.1版開始允許使用函數設定資料集,如:🎜🎜🎜{$vo.name}🎜🎜🎜🎜🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn