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)                       
));

在小胡子模板中,我正在使用它,

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

它给了我width正确的。但现在我想要keys那个数组(1第一个和3第二个)以及pages键中元素的总数。

我该怎么做这个小胡子?

4

1 回答 1

1

好的,我知道 mustache 无法跟踪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 回答