ThinkPHP 中對 volist 標(biāo)簽嵌套使用可實現(xiàn)多維數(shù)組的輸出涩搓。
volist 嵌套使用
一般的二維數(shù)組,可以用 volist 標(biāo)簽直接循環(huán)輸出琼牧。對于多維數(shù)組须鼎,則需要對其中的數(shù)組成員再次使用 volist 標(biāo)簽嵌套循環(huán)輸出。
構(gòu)建一個多維數(shù)組:
$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() 函數(shù)打印出該數(shù)組如下:
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
)
)
在對應(yīng)模塊操作(如Index/display)里將變量賦值給模板澜沟,并將模板輸出:
$this->assign( "food", $food );
$this->display();
模板 Tpl/default/Index/display.html :
食物品種:
水果1:{$f['fruits1']}
水果2:{$f['fruits2']}
水果3:{$f['fruits3']}
蔬菜:{$vo['vegetables']}
在模板里面灾票,首先將 $food 變量進行循環(huán)輸出。由于 $food 數(shù)組的成員 fruits 也是一個數(shù)組茫虽,因此再對 $vo['fruits'] 變量進行循環(huán)輸出(注意沒有 $ 符號)刊苍。
輸出結(jié)果如下:
食物品種:
水果1:蘋果1
水果2:桔子1
水果3:香蕉1
蔬菜:白菜1
水果1:蘋果2
水果2:桔子2
水果3:香蕉2
蔬菜:白菜2
同理推之以此方法可以對更多維的數(shù)組進行循環(huán)輸出既们。