.通过PHP激活类

.通过PHP激活类,php,function,html-lists,Php,Function,Html Lists,我创建了这个PHP函数: function active_class($page){ global $pagebase; if($pagebase == $page){ return "active"; } elseif($pagebase == null){ $page = "home"; return "active"; } else{ return ""; } } 但

我创建了这个PHP函数:

function active_class($page){
    global $pagebase;

    if($pagebase == $page){
        return "active";
    }
    elseif($pagebase == null){
        $page = "home";
        return "active";
    }
    else{
        return "";
    }
}
但当我将其用于此列表时:

<ul class="nav navbar-nav">
              <li class="<?php echo active_class("home"); ?>"><a href="http://example.com/home">Home</a></li>
              <li class="<?php echo active_class("about"); ?>"><a href="http://example.com/about">About</a></li>
</ul>

    回顾我的代码后,我想如果它为空,我可以将
    $pagebase
    更改为等于home(无
    $\u GET['page']
    。这将允许我在不使用elseif的同时使用我的代码。感谢您的回复。

    $pagebase
    为空时,要使其仅激活主页选项卡,您必须添加-
    $page==“home”
    -条件,以便空状态仅用于主页选项卡,并且只返回一次活动状态

    试试看:

    function active_class($page){
        global $pagebase;
    
        if($pagebase == $page){
            return "active";
        }
        elseif($pagebase == null && $page == "home" ){
            $page = "home";
            return "active";
        }
        else{
            return "";
        }
    }
    
    <ul class="nav navbar-nav">
      <li class="<?php echo ($pagebase=="home"?"active":""); ?>"><a href="http://example.com/home">Home</a></li>
      <li class="<?php echo ($pagebase=="about"?"active":""); ?>"><a href="http://example.com/about">About</a></li>
    </ul>
    
    另一种选择:

    function active_class($page){
        global $pagebase;
    
        if($pagebase == $page){
            return "active";
        }
        elseif($pagebase == null && $page == "home" ){
            $page = "home";
            return "active";
        }
        else{
            return "";
        }
    }
    
    <ul class="nav navbar-nav">
      <li class="<?php echo ($pagebase=="home"?"active":""); ?>"><a href="http://example.com/home">Home</a></li>
      <li class="<?php echo ($pagebase=="about"?"active":""); ?>"><a href="http://example.com/about">About</a></li>
    </ul>
    

      $page==“home”
      首先,这里有一个
      =
      太多了,这可能是这个问题的根源,是一个打字错误。编辑:哦,所以这将是一个“即时编辑”post.看起来像一个基本的输入错误问题?更改了输入错误,$pagebase始终为空,因此处于活动状态?$pagebase为空,如果在尾随后没有任何内容,则为空/