Как перебрать массив PHP в HTML - PullRequest
0 голосов
/ 18 июня 2020

Я пытался перебрать следующий массив из PHP внутри и HTML шаблона:

$sub_menu = array(
    array(
        'titulo' => 'Ropa',
        'url' => '/ropa.html
    '),
    array(
        'titulo' =>'Electronica',
        'url' => '/electronica.html'
    ),
    array(
        'titulo' => 'Higiene',
        'url' =>'/higiene.html'
    ),
    array(
        'titulo' => 'Alimentos',
        'url' => '/alimentos.html'
    ),
    array(
        'titulo' => 'Otros',
        'url' => '/otros.html'
    )
);

Пока не повезло. Я пытаюсь показать это в виде списка внутри тега навигации.

Не могли бы вы помочь мне?

Итак, я попробовал это

<?php 
echo '<ul>'; 
foreach ($sub_menu as $parent) { 
    if (is_array($parent)) { 
        echo '<ul>'; 
        foreach ($parent as $children => $key) { 
            echo '<li><a href="#">' . $children . '</a>'; 
        } 
        echo '</ul>'; 
    } 
    echo '</li>'; 
} 
echo '</ul>'; 
?>

Ответы [ 3 ]

1 голос
/ 18 июня 2020

Думаю, вы сделали все немного сложнее, чем требуемый входной массив

$sub_menu = array(
    array(
        'titulo' => 'Ropa',
        'url' => '/ropa.html'),
    array(
        'titulo' =>'Electronica',
        'url' => '/electronica.html'
    ),
    array(
        'titulo' => 'Higiene',
        'url' =>'/higiene.html'
    ),
    array(
        'titulo' => 'Alimentos',
        'url' => '/alimentos.html'
    ),
    array(
        'titulo' => 'Otros',
        'url' => '/otros.html'
    )
);

echo '<ul>'.PHP_EOL; 
foreach ($sub_menu as $parent) { 
    echo '<li><a href="' . $parent['url'] . '">' . $parent['titulo'] . '</a></li>'.PHP_EOL; 
} 
echo '</ul>'.PHP_EOL; 

РЕЗУЛЬТАТ

<ul>
<li><a href="/ropa.html">Ropa</a></li>
<li><a href="/electronica.html">Electronica</a></li>
<li><a href="/higiene.html">Higiene</a></li>
<li><a href="/alimentos.html">Alimentos</a></li>
<li><a href="/otros.html">Otros</a></li>
</ul>
0 голосов
/ 18 июня 2020

У вас echo ul не в том месте, попробуйте следующий код

<?php   
echo "<ul>";
foreach ($sub_menu as $parent) { 
    if (is_array($parent)) { 
        echo '<li><ul>'; 
        foreach ($parent as $children => $key) { 
            echo '<li><a href="#">' . $children . '</a>'; 
        } 
        echo '</ul></li>'; 
    }else {
        echo '<li><a href="#">' . $parent . '</a>'; 
    } 

} 
 echo "</ul>";
?>
0 голосов
/ 18 июня 2020

Используйте базовый c foreach() l oop для рендеринга вашей «навигационной панели» ... отредактируйте HTML в соответствии с вашими требованиями c:

foreach ($sub_menu as $key => $value) {
        echo "<li><a href='" . $value['url'] . "'>" . $value['titulo'] . "</a></li>";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...