ThinkPHP模板Volist標(biāo)簽嵌套循環(huán)輸出多維數(shù)組的方法

字號:


    本文實例講述了ThinkPHP模板Volist標(biāo)簽嵌套循環(huán)輸出多維數(shù)組的方法。分享給大家供大家參考,具體如下:
    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 :
    <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 變量進行循環(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)輸出。
    希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計有所幫助。