我想打印这个数组值作为我的菜单这个下拉功能。当我用foreach打印这个数组时,它只是打印主数组偏移量=>值。我需要打印服务中的子数组值作为我的下拉选项。
我的数组是:
$menuData = [
'0' => ['Home'],
'1' => ['About'],
'2' => ['Contact'],
'3' => [
'Services' => ['Web Development', 'Wordpress', 'Mobile App'],
],
];
这里是我要打印数组的HTML导航栏:命名为服务的子数组将在下拉选项中打印,其他的将在主导航项中打印。
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<?php
foreach ($menuData as $value) { ?>
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#"><?php echo $value[0]; ?></a>
</li>
<?php }
?>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Services
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown">
<li><a class="dropdown-item" href="#">Web Development</a></li>
<li><a class="dropdown-item" href="#">Wordpress</a></li>
<li><a class="dropdown-item" href="#">Mobile App</a></li>
</ul>
</li>
</ul>
发布于 2022-11-05 07:35:05
你可以试试这样的东西:
<?php
$menuData = [
'0' => ['Home'],
'1' => ['About'],
'2' => ['Contact'],
'3' => [
'Services' => [
'Web Development',
'Wordpress',
'Mobile App',
],
],
];
echo "<ul class=\"navbar-nav me-auto mb-2 mb-lg-0\">";
foreach ($menuData as $value) {
$menuItems = current($value);
$isSubArray = is_array($menuItems) || false;
if (!$isSubArray) {
echo "<li class=\"nav-item\">
<a class=\"nav-link active\" aria-current=\"page\" href=\"#\">";
echo $menuItems;
echo "</a></li>";
} else {
echo "<li class=\"nav-item dropdown\">";
echo "<a class=\"nav-link dropdown-toggle\" href=\"#\" id=\"navbarDropdown\" role=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">";
echo key($value);
echo "</a>";
echo "<ul class=\"dropdown-menu\" aria-labelledby=\"navbarDropdown\">";
foreach ($menuItems as $item) {
echo "<li><a class=\"dropdown-item\" href=\"#\">";
echo $item;
echo "</a></li>";
}
echo "</ul>";
echo "</li>";
}
}
echo "</ul>";
希望能帮上忙!
https://stackoverflow.com/questions/74325752
复制相似问题