Php 选择菜单选项后,所选类不会自行设置

Php 选择菜单选项后,所选类不会自行设置,php,css,Php,Css,我在php脚本中选择的菜单有问题 当我点击其中一个菜单选项时,它不会将li类设置为selected 我已经找了好几个小时了,但还是找不到。谢谢你正手的帮助 下面是PHP代码: private $selectedmenu = ''; public function set_selectedmenu($set_selectedmenu) { $this->selectedmenu = $set_selectedmenu; } public function html() {

我在php脚本中选择的菜单有问题

当我点击其中一个菜单选项时,它不会将li类设置为selected

我已经找了好几个小时了,但还是找不到。谢谢你正手的帮助

下面是PHP代码:

private $selectedmenu = '';
public function set_selectedmenu($set_selectedmenu) {
    $this->selectedmenu = $set_selectedmenu;
}

public function html() {
            $html_menu='';
            $menu = array(
                'test'=>array('optie'=>'test', 'url'=>'index.php?page=test'),
                'test2'=>array('optie'=>'test2', 'url'=>'index.php?page=test2'),
                'test3'=>array('optie'=>'test3', 'url'=>'index.php?page=test3'),
                'test4'=>array('optie'=>'test4', 'url'=>'index.php?page=test4'),
            );

            foreach($menu as $key => $menuoptie) {
                if ($key==$this->selectedmenu) {
                    $class=' class="selected"'; 
                }else{
                    $class='';
                }
                $html_menu.="<li{$class}><a href=\"{$menuoptie['url']}\">{$menuoptie['optie']}</a></li>\n";
            }           
            return(
<<<EOT

<!DOCTYPE html>
    <html>
        <head>
            <title>{$this->html_titel}</title>
            <meta charset="utf-8" />
            <link rel="stylesheet" type="text/css" href="stylesheet/css.css" />
        </head>
        <body>
            <ul class="menu">
                {$html_menu}
            </ul>
        </body>
    </html>
EOT
            );
        }

您能否验证$selectedmenu是否为'test'或'test2'或我尝试过的'var\u dump$this->selectedmenu;'它返回空字符串,但当我将属性设置为:private$selectedmenu=;示例:private$selectedmenu='home';然后将所选类设置为“主”。在foreach,我在菜单中循环查看在哪里设置所选的类,这是否出错?我不确定我是否理解你的意思,但听起来设置selectedmenu有问题,您的循环LGTM尝试在我尝试设置selectedmenu的地方转储,它返回空字符串…因此,无论您在哪里调用set_selectedmenu,都会传入一个空字符串。。。
.menu{
    padding-left: 117px;
    margin-top: 10px;
    list-style: none;
    overflow: hidden;
    margin-left:40px;
}
.menu li {
    padding: 0;
    margin: 0;
    float: left;
    width: 200px;
    border: 1px solid black;
}
.menu li:hover a {
    background-color:#FF8055;
    font-weight:bold;
}
.menu li a {
    text-align:center;
    background-color:#f60;
    text-decoration: none;  
    display: block;
    padding: 10px 0px 10px 10px;
    text-align: left;
    font-weight:bold;
    color:white;
}
.menu li.selected a{
    background-color: black;
    text-decoration:underline;
}