访问迭代字段的值在PHP胡子

问题描述 投票:6回答:3

说我有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,我想通过使用这种方法的值来迭代...

谢谢!

php arrays templates mustache
3个回答
11
投票

隐含的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}}

8
投票

你可以用胡子的隐迭代器功能此:

https://github.com/bobthecow/mustache.php/tree/master/examples/implicit_iterator

{{#values}}
    {{.}}
{{/values}}

您的原始阵列可能需要数字键,现在虽然字符串。它可能工作的方式,但我没有测试它。


0
投票

我工作的一个超级老的PHP框架,这是使用Smarty的语法类似,但双大括号,让我挂相当一段时间,所以下面所做的循环运行对我来说:)也许它会帮助你。

{{ #each link in bluelinks }}
  <p><strong>{{ link }}</strong></p>
{{/each}}
© www.soinside.com 2019 - 2024. All rights reserved.