使用Mustache遍历数组数组

时间:2017-07-02 21:31:51

标签: php mustache mustache.php

我检查了所有类似的问题,似乎没有人回答这个问题。

$data = ['data' => array(
    ['id'=>'1','name'=>'Dupe', 'country' => 'Nigeria'], 
    ['id'=>'3','name'=>'Dipo', 'country' => 'Togo']
)];

$mustache->render('index', $data);

index.html看起来像这样:

<div>Hello</div>

<br>

<h2>Search for a person</h2>
<form action="/search" method="POST">
    Input user's name or email:
    <br><input type="text" name="key" value="" required>
    <br>
    <input type="submit" value="Search">
</form>

{{ #data }}
    <div> {{ name }} - {{ country }} </div>
{{ /data }}

目前正在返回空白页。

1 个答案:

答案 0 :(得分:1)

我无法解决这个问题,但将内部数组转换为对象可以正常工作:

$m = new Mustache_Engine();
$data = [
    'data' => array(
        ['id' => '1', 'name' => 'Dupe', 'country' => 'Nigeria'],
        ['id' => '3', 'name' => 'Dipo', 'country' => 'Togo']
    )
];
$data = json_decode(json_encode($data));

echo $m->render(
    '{{#data}}
       <div> {{ name }} - {{ country }} </div>
    {{/data}}',
    $data
);

输出:

  

<div> Dupe - Nigeria </div>
     <div> Dipo - Togo </div>

注意{{#data}}{{/data}}没有空格!

我使用了内联模板字符串,因为我没有你的。