Я создал массив из трех переменных, которые я получаю через цикл foreach.Манипулировать последнюю итерацию foreach внутри foreach
//loop through each post
foreach($loop as $p){
//get the meta and taxonomy data
$term_list = get_the_term_list($p, "mountains",true);
$name = trim($term_list, "1");
$wtr_long = get_post_meta($p,"wtr_longitude",true);
$wtr_lat = get_post_meta($p,"wtr_latitude",true);
//Add to Array
$map_array[] = array ($name => $wtr_lat . "|" . $wtr_long);
}
Теперь этот массив должен предоставить данные, которые будут заполнять мою Карту Google, поскольку я использую код ниже.
foreach($map_array as $a){
foreach ($a as $key => $value) {
$pieces = explode("|", $value);
$trimmed_key = trim($key, "1");
$name = trim($trimmed_key);
?>
{latitude: <?php echo $pieces[0]; ?>,
longitude: <?php echo $pieces[1]; ?>,
html: <?php echo $name; ?>},
<?php }} ?>
Это работает почти нормально (хотя это, вероятно, не самый чистый код, советы по этому поводу тоже будут оценены). Проблема у меня в том, что в последней итерации Еогеаспа внутри другой Еогеаспа, мне нужно добавить ]
, в результате чего:
html: <?php echo $name; ?>}],
я могу избежать одного Еогеаспа, но делать это на Еогеаспе внутри foreach сводит меня с ума. Любая помощь будет принята с благодарностью.
Не нужно быть разработчиком php. Иногда явная логика может управлять вами в правильном направлении. Теперь я пытаюсь использовать другой подход, основанный на вашем комментарии, где я пытаюсь создать строки, которые я хочу выводить внутри массива. Если теперь я могу придумать один массив, я могу легко поймать последнюю итерацию. – WouterB