цикл по двумерному массиву и переход к шаблону усов

поэтому я только начинаю использовать 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'}==? тоже правильно читает.

Любая помощь приветствуется.

1

Решение

Это потому, что вы передаете ключ вашей функции рендеринга, $entity содержит ключи массива (0,1,2 …) и ваш массив enity хранится в $row

foreach ($FeedArray as $entity => $row){

в этом случае вы должны сделать это:

echo $m->render($postTemplate, $row);

а также в массиве вы получили ключ «entity», а не «entity_type», поэтому измените это тоже:

$row['entity_type']=='mail'

чтобы:

$row['entity']=='mail'
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]