在ThinkPHP中系統提供了兩個標籤來實現便利操作:volist標籤和foreach標籤。
volist語法格式:
<volist name='需要遍历的模板变量名' id='当前遍历到的元素名' 循环体 </volist>
注意:volist是雙標籤語句,需要閉合。
foreach語法格式:
<foreach name='需要遍历的模板变量名' item='当前遍历到的元素名' 循环体 </foreach>
注意:
foreach同樣是雙標籤語句,需要閉合。
區別:
volist語法格式與foreach語法格式形式上大致相同,volist除了上述的name和id屬性對之外,還支援更多的屬性對,如mod、key、length等等,而foreach標籤除了上述的name和item之外只支援key屬性對。可以理解成foreach標籤是volist標籤的一個簡化版本。
建議在實際操作時盡量使用volist標籤。
案例一:
一維陣列的遍歷
<?php ...//创建控制器TestController省略 public function test(){ $array = array('西游记','红楼梦','三国演义','水浒传'); $array2 = array( array('孙悟空','猪八戒','沙和尚','唐僧'), array('贾宝玉','薛宝钗','刘姥姥','林黛玉'), array('刘备','关羽','张飞','曹操'), array('宋江','林冲','鲁智深','时迁') ); $this -> assign('array',$array); $this -> display(); } <!DOCTYPE html> <html> <head> <title>test</title> </head> <body> <volist name='array' id='vol'> {$vol} - </volist><hr/> <foreach name='array' item='for'> {$for} - </foreach> </body> </html>
輸出展示:
案例二:
二維陣列的遍歷
<?php ...创建TestController控制器 public function test(){ $array = array('西游记','红楼梦','三国演义','水浒传'); $array2 = array( array('孙悟空','猪八戒','沙和尚','唐僧'), array('贾宝玉','薛宝钗','刘姥姥','林黛玉'), array('刘备','关羽','张飞','曹操'), array('宋江','林冲','鲁智深','时迁') ); $this -> assign('array',$array); $this -> assign('array2',$array2); $this -> display(); }
<!DOCTYPE html> <html> <head> <title>test</title> </head> <body> /*volist循环遍历,嵌套循环*/ <volist name='array2' id='vol'> <volist name='vol' id='vo'> {$vo}- </volist><br/> </volist><hr/> /*foreach循环遍历,嵌套循环*/ <foreach name='array2' item='for'> <foreach name='for' item='fo'> {$fo}- </foreach><br/> </foreach> </body> </html>
輸出展示:
##更多相關ThinkPHP知識,請訪問ThinkPHP教程!
以上是ThinkPHP中循環遍歷的兩種方法(volist和foreach標籤)的詳細內容。更多資訊請關注PHP中文網其他相關文章!