本文實例講述了ThinkPHP模板Volist標簽嵌套循環輸出多維數組的方法。分享給大家供大家參考,具體如下:
ThinkPHP 中對 volist 標簽嵌套使用可實現多維數組的輸出。
volist 嵌套使用
一般的二維數組,可以用 volist 標簽直接循環輸出。對於多維數組,則需要對其中的數組成員再次使用 volist 標簽嵌套循環輸出。
構建一個多維數組:
$food = array(); $food[0]['fruits'][0]['fruits1'] = '蘋果1'; $food[0]['fruits'][0]['fruits2'] = '桔子1'; $food[0]['fruits'][0]['fruits3'] = '香蕉1'; $food[0]['vegetables'] = '白菜1'; $food[1]['fruits'][1]['fruits1'] = '蘋果2'; $food[1]['fruits'][1]['fruits2'] = '桔子2'; $food[1]['fruits'][1]['fruits3'] = '香蕉2'; $food[1]['vegetables'] = '白菜2';
使用 print_r() 函數打印出該數組如下:
Array
(
[0] => Array
(
[fruits] => Array
(
[0] => Array
(
[fruits1] => 蘋果1
[fruits2] => 桔子1
[fruits3] => 香蕉1
)
)
[vegetables] => 白菜1
)
[1] => Array
(
[fruits] => Array
(
[1] => Array
(
[fruits1] => 蘋果2
[fruits2] => 桔子2
[fruits3] => 香蕉2
)
)
[vegetables] => 白菜2
)
)
在對應模塊操作(如Index/display)裡將變量賦值給模板,並將模板輸出:
$this->assign( "food", $food ); $this->display();
模板 Tpl/default/Index/display.html :
<p>食物品種:</p><br />
<volist name="food" id="vo">
<volist name="vo['fruits']" id="f">
<p>水果1:{$f['fruits1']}</p>
<p>水果2:{$f['fruits2']}</p>
<p>水果3:{$f['fruits3']}</p>
</volist>
<p>蔬菜:{$vo['vegetables']}</p><br />
</volist>
在模板裡面,首先將 $food 變量進行循環輸出。由於 $food 數組的成員 fruits 也是一個數組,因此再對 $vo['fruits'] 變量進行循環輸出(注意沒有 $ 符號)。
輸出結果如下:
食物品種: 水果1:蘋果1 水果2:桔子1 水果3:香蕉1 蔬菜:白菜1 水果1:蘋果2 水果2:桔子2 水果3:香蕉2 蔬菜:白菜2
同理推之以此方法可以對更多維的數組進行循環輸出。
更多關於thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《ThinkPHP常用方法總結》、《smarty模板入門基礎教程》及《PHP模板技術總結》。
希望本文所述對大家基於ThinkPHP框架的PHP程序設計有所幫助。