0

私は配列の次の構造を持っていますarr

Array
(
    [1] => Array
        (
            [width] => 600 
            [pages] => Array
                (
                    [0] => Array
                        (
                            [bgColor] => 'red' 
                        )



                ) 
        )

    [3] => Array
        (
            [width] => 400 
            [pages] => Array
                (
                    [0] => Array
                        (
                            [bgColor] => 'blue' 
                        )



                ) 
        )

)

現在、私はデータを次のように渡しています。

$tpl->render(array( 
   'arr'   => new ArrayIterator($arr)                       
));

in mustache テンプレートでは、次のように使用しています。

{{#arr}}  
  {{width}}
{{/arr}}

それは私widthに正しく与えます。しかし今、私keysはその配列(1最初と2番目のもの)と、キー3内の要素の総数が必要です。pages

この口ひげはどうすればいいですか?

4

1 に答える 1

1

オーケー、mustache は of の配列を追跡できず、indexのすべてが必要であることを理解しましたhash

だから、私は次のテクニックを使用しています。それは機能しますが、少し醜いです。

function prepareForMustache ($arr) {
    foreach($arr as $k => &$v) {
        $v['key']  = $k;
        $v['pagesCount'] = count($v['pages']);
    } 
}


$arr = prepareForMustache($arr);

$tpl->render(array( 
   'arr'   => new ArrayIterator($arr)                       
));

口ひげテンプレートとして消費し、

{{#arr}}  
  {{width}}
  {{key}}
  {{pagesCount}}
{{/arr}}
于 2013-04-04T09:03:55.347 に答える