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