使用 Mustache 遍历数组数组

Iterate through an array of arrays with Mustache

我查了所有类似的问题,好像没有人回答过这个。

$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 }}

当前返回空白页。

我想不通,但是将内部数组转换为对象效果很好:

$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}}没有空格!

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