首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在有一个下拉选项的html菜单中填充这个数组值?

如何在有一个下拉选项的html菜单中填充这个数组值?
EN

Stack Overflow用户
提问于 2022-11-05 06:59:51
回答 1查看 36关注 0票数 1

我想打印这个数组值作为我的菜单这个下拉功能。当我用foreach打印这个数组时,它只是打印主数组偏移量=>值。我需要打印服务中的子数组值作为我的下拉选项。

我的数组是:

代码语言:javascript
运行
复制
$menuData = [
   '0' => ['Home'],
   '1' => ['About'],
   '2' => ['Contact'],
   '3' => [
      'Services' => ['Web Development', 'Wordpress', 'Mobile App'],
   ],
];

这里是我要打印数组的HTML导航栏:命名为服务的子数组将在下拉选项中打印,其他的将在主导航项中打印。

代码语言:javascript
运行
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-05 07:35:05

你可以试试这样的东西:

代码语言:javascript
运行
复制
<?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://3v4l.org/toFVY

希望能帮上忙!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74325752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档