遍历二维数组并传递给小胡子模板
looping through two dimensional array and passing to mustache template
所以我才刚刚开始使用 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'}==?
也能正常读取。
感谢任何帮助。
这是因为您将键传递给渲染函数,$entity
包含数组键 (0,1,2...) 并且您的实体数组存储在 $row
foreach ($FeedArray as $entity => $row){
在那种情况下你应该这样做:
echo $m->render($postTemplate, $row);
而且在数组中你得到的是 'entity' 键而不是 'entity_type' 所以也改变这个:
$row['entity_type']=='mail'
至:
$row['entity']=='mail'
所以我才刚刚开始使用 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'}==?
也能正常读取。
感谢任何帮助。
这是因为您将键传递给渲染函数,$entity
包含数组键 (0,1,2...) 并且您的实体数组存储在 $row
foreach ($FeedArray as $entity => $row){
在那种情况下你应该这样做:
echo $m->render($postTemplate, $row);
而且在数组中你得到的是 'entity' 键而不是 'entity_type' 所以也改变这个:
$row['entity_type']=='mail'
至:
$row['entity']=='mail'