除了PHP数组中的服务之外,如何从所有顶级列表项中删除嵌套的nav?

除了PHP数组中的服务之外,如何从所有顶级列表项中删除嵌套的nav?,php,html,Php,Html,我试图删除嵌套列表($subPages),使其不显示在所有顶级列表($pages)下,服务除外;但是,我的代码允许嵌套列表项显示在所有三个顶级列表项下 有人能帮我从所有顶级列表项中删除嵌套列表项吗,只有一个除外? 注意。我是PHP新手,只想坚持使用PHP而不使用任何其他语言。我的PHP代码可能是高效的;如果你发现有改进的余地,请告诉我 在开放式嵌套导航的代码中,将if(isset($url)='/services/')更改为if($url='/services/'){ 说明:不需要验证是否设置了

我试图删除嵌套列表($subPages),使其不显示在所有顶级列表($pages)下,服务除外;但是,我的代码允许嵌套列表项显示在所有三个顶级列表项下

有人能帮我从所有顶级列表项中删除嵌套列表项吗,只有一个除外?

注意。我是PHP新手,只想坚持使用PHP而不使用任何其他语言。我的PHP代码可能是高效的;如果你发现有改进的余地,请告诉我


在开放式嵌套导航的代码中,将
if(isset($url)='/services/')
更改为
if($url='/services/'){

说明:不需要验证是否设置了
$url
,只需在
$url='/services/'
时打印嵌套的导航,这就是为什么需要删除函数
isset()
:)


编辑

您缺少一些
{}
,我甚至重新排列了您的一些代码,所以现在看起来如下:)

echo'
    ';//打开导航 foreach($url=>$anchor的页面){ $activeClass=($\u服务器['REQUEST\u URI']=$url)?“活动”:“; 回声“
  • ”; //验证是否存在嵌套导航 如果($url='/services/')){ echo'
      ';//打开嵌套导航 foreach($url=>$anchor的子页面){ echo'
    • ; } echo“
    ”;//关闭嵌套导航 } 回音“
  • ”; } 回显“
”;//关闭导航
谢谢你,朱。这很有帮助,但是打印的代码很混乱:
    在第一个顶级列表项后关闭。请问有没有办法编辑打印的代码?@GrahamO'Mahony我编辑了我的答案,现在它工作正常:)抱歉花了这么长时间!Muito obrigado,朱!它工作了,我能够理解你所做的更改。你已经为我节省了很多时间。欢迎@GrahamO'Mahony:)我很高兴能提供帮助,更高兴知道你理解了这些变化:)现在请接受我正确的答案,以便让其他人知道并在有人需要时提供帮助。。谢谢!!:D
    <nav class="navBar wAuto fRight positAb">
    <?php
    $pages = array(
    '/about/' => 'About',
    '/services/' => 'Services',
    '/book-a-service/' => 'Book a service'
    );
    $subPages = array(
    '/services/bathroom-installation' => 'Bathroom installation',
    '/services/boiler-repair' => 'Boiler repair',
    '/services/boiler-service' => 'Boiler service',
    '/services/gas-oil' => 'Gas &amp; oil',
    '/services/heat-recovery' => 'Heat recovery',
    '/services/heating-plumbing' => 'Heating and plumbing',
    '/services/rainwater-harvesting' => 'Rainwater harvesting',
    '/services/solar-solutions' => 'Solar solutions',
    '/services/underfloor-heating' => 'Underfloor heating'
    );
    $activePage = $_SERVER['REQUEST_URI'];
    echo '<ul>';//open nav
    foreach( $pages as $url => $anchor){
    $activeClass = ($_SERVER['REQUEST_URI'] == $url) ? " active" : "";
    echo '<li class="fLeft"><a class="font13'.$activeClass.'" href="'.$url.'"';
    if($url == '/services/'){
    echo 'id="parent"';
    }
    if($url == '/book-a-service/')
    echo 'id="ctaUHP"';
    echo '>'.$anchor.'</a>';
    //Open nested nav
    if(isset($url) == '/services/'){
    echo '<ul class="wAuto positAb">';
    foreach ($subPages as $url => $anchor){
    echo '<li class="fullWidth"><a class="font10" href="'.$url.'"';//open nested nav
    echo '>'.$anchor.'</a></li>';
    }
    };
    echo '</li></ul>'; //close nested nav
    }
    //Close submenu
    echo '</ul>';
    //close nav
    ?>
    </nav>
    
    echo '<ul>'; //open nav
    
    foreach( $pages as $url => $anchor) {
        $activeClass = ($_SERVER['REQUEST_URI'] == $url) ? " active" : "";
    
        echo '<li class="fLeft"><a class="font13'.$activeClass.'" href="'.$url.'"';
    
        if($url == '/services/') {
            echo 'id="parent"';
        }
    
        if($url == '/book-a-service/') {
            echo 'id="ctaUHP"';
        }
    
        echo '>'.$anchor.'</a>';
    
        //verify if exists nested nav
        if($url == '/services/') {
            echo '<ul class="wAuto positAb">'; //open nested nav
    
            foreach ($subPages as $url => $anchor) {
                echo '<li class="fullWidth"><a class="font10" href="'.$url.'">'.$anchor.'</a></li>';
            }
    
            echo '</ul>'; //close nested nav
         }
    
         echo '</li>';
    }
    
    echo '</ul>'; //close nav