说我有PHP中,看起来像这样的数组:
$values = Array(
'0' => 'value1',
'1' => 'value2',
'2' => 'value3'
)
我想使用胡须通过阵列来迭代但我想的关联值。这就是我希望做的事:
{{#values}}
{{the current value}}
{{/values}}
我希望有返回的结果将是:
value1
value2
value3
我已经得到解决此通过改变我的结构:
$values = Array(
'0' => array('value=' =>'value1'),
'0' => array('value=' =>'value2'),
'0' => array('value=' =>'value3'),
)
并调用{{valule}}胡子iterator中。
我应该做这样一个完全不同的方式?我使用PHP中的SplFixedArray,我想通过使用这种方法的值来迭代...
谢谢!
隐含的Iterator是去简单数据的方式。如果你的数据是比较复杂的,然后PHP的ArrayIterator做的工作做好。
这里是我工作的一个例子。希望这是对别人有用。
$simple_data = array('value1','value2','value3');
$complex_data = array(array('id'=>'1','name'=>'Jane'),array('id'=>'2','name'=>'Fred') );
$template_data['simple'] = $simple_data;
$template_data['complex'] = new ArrayIterator( $complex_data );
$mustache->render('template_name', $template_data );
而在模板你可以有
{{#simple}}
{{.}}<br />
{{/simple}}
{{#complex}}
<p>{{ id }} <strong>{{ name }}</strong></p>
{{/complex}}
你可以用胡子的隐迭代器功能此:
https://github.com/bobthecow/mustache.php/tree/master/examples/implicit_iterator
{{#values}}
{{.}}
{{/values}}
您的原始阵列可能需要数字键,现在虽然字符串。它可能工作的方式,但我没有测试它。
我工作的一个超级老的PHP框架,这是使用Smarty的语法类似,但双大括号,让我挂相当一段时间,所以下面所做的循环运行对我来说:)也许它会帮助你。
{{ #each link in bluelinks }}
<p><strong>{{ link }}</strong></p>
{{/each}}