所以我刚刚开始使用mustache.php而且我试图循环使用二维数组。我有一个看起来像这样的数组......
$FeedArray = array(3) { [0]=> array(3) { ["entity"]=> string(10) "mail"
["time"]=> string(19) "2015-02-05 05:10:26"
["title"]=> string(0) "what's up?" }
[1]=> array(3) { ["entity"]=> string(5) "event"
["time"]=> string(19) "2015-02-05 03:16:54"
["title"]=> string(15) "asfasggasdgasdg" }
[2]=> array(3) { ["entity"]=> string(10) "mail"
["time"]=> string(19) "2015-01-11 14:24:08"
["title"]=> string(24) "lunch?" } }
我试图像这样循环:
$eventTemplate = file_get_contents('templates/GroupPageEvent.mustache');
$postTemplate = file_get_contents('templates/GroupPagePost.mustache');
foreach ($FeedArray as $entity => $row){
if ($row['entity_type']=='mail'){
echo $m->render($postTemplate, $entity);
}
if ($row['entity_type']=='event'){
echo $m->render($eventTemplate, $entity);
}
}
我知道我的模板运行良好。只是没有正确传递子数组($ entity),并且所有输出的模板都是空的。
if $row['entity_type'}==?
也正常阅读。
任何帮助表示赞赏。
答案 0 :(得分:1)
这是因为您将密钥传递给渲染函数,$entity
包含数组键(0,1,2 ...),而您的enity数组存储在$row
foreach ($FeedArray as $entity => $row){
在这种情况下你应该这样做:
echo $m->render($postTemplate, $row);
并且在数组中你得到了' entity' key not' entity_type'所以改变这个:
$row['entity_type']=='mail'
到:
$row['entity']=='mail'