Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 比使用开关盒更容易改变颜色_Php_Switch Statement_Case - Fatal编程技术网

Php 比使用开关盒更容易改变颜色

Php 比使用开关盒更容易改变颜色,php,switch-statement,case,Php,Switch Statement,Case,,我使用开关盒为导航栏的活动链接添加颜色 我首先声明了一个数组$case,其中包含导航栏中所有可能的链接。然后,我检查它是否是在其中一个页面上单击的函数(如果查询字符串不是空的),以及它是否被放入$case数组中(以防止在单击其他页面内的其他链接时更改颜色) 如果为true,$current将获得一个类似于docs\u zamo或akuut\u wgakuut-->FILENAME\u查询的值。我只想在之前声明颜色时更改它(在$case数组中),否则,它将只是文件名(不带“.php”) 我觉得这

,我使用开关盒为导航栏的活动链接添加颜色

我首先声明了一个数组
$case
,其中包含导航栏中所有可能的链接。然后,我检查它是否是在其中一个页面上单击的函数(如果查询字符串不是空的),以及它是否被放入
$case
数组中(以防止在单击其他页面内的其他链接时更改颜色)

如果为true,
$current
将获得一个类似于
docs\u zamo
akuut\u wgakuut-->FILENAME\u查询的值。
我只想在之前声明颜色时更改它(在$case数组中),否则,它将只是文件名(不带“.php”)

我觉得这段代码相当笨拙。还有别的方法做这项工作吗?我对PHP相当陌生。我想;如果有一个函数检查开关内是否存在一个case,那么我就不需要$case数组,因为我已经声明了开关内是否存在链接

检查是否为文件名的代码\u查询链接:

$case = array("index","medica","praesidium","akuut","sponsors","docs","docs_zamo","kalender","evenementen","fotos","werking","jaarraden","akuut_wgakuut","onderwijs","sociaal","sport","werkgroepen","eerstejaars","international",);

if (($_SERVER['QUERY_STRING'] != "") && (in_array(basename($_SERVER['PHP_SELF'],'.php') ."_". str_replace('actie=','',$_SERVER['QUERY_STRING']),$case) == true)) {
    $current = basename($_SERVER['PHP_SELF'],'.php') ."_". str_replace('actie=','',$_SERVER['QUERY_STRING']);
}
else {$current = basename($_SERVER['PHP_SELF'],'.php');}
$id = array("","","","","","","","","","","","","","","","","","","");
switch($current)
{
    case $case[0]:$id[0]="class = 'here'";break;
    case $case[1]:$id[1]="class = 'here'";break;
    case $case[2]:$id[2]="class = 'here'";break;
    case $case[3]:$id[3]="class = 'here'";break;
    case $case[4]:$id[4]="class = 'here'";break;
    case $case[5]:$id[5]="class = 'here'";break;
    case $case[6]:$id[18]="class = 'here'";break;
    case $case[7]:$id[6]="class = 'here'";break;
    case $case[8]:$id[7]="class = 'here'";break;
    case $case[9]:$id[8]="class = 'here'";break;
    case $case[10]:$id[9]="class = 'here'";break;
    case $case[11]:$id[10]="class = 'here'";break;
    case $case[12]:$id[11]="class = 'here'";break;
    case $case[13]:$id[12]="class = 'here'";break;
    case $case[14]:$id[13]="class = 'here'";break;
    case $case[15]:$id[14]="class = 'here'";break;
    case $case[16]:$id[15]="class = 'here'";break;
    case $case[17]:$id[16]="class = 'here'";break;
    case $case[18]:$id[17]="class = 'here'";break;
}
?>
<div id='menu'>
        <ul>
            <li><a href='index.php' <? echo $id[0]; ?>>home</a></li>
            <li><a href='medica.php' <? echo $id[1]; ?>>medica</a>
                <ul>
                    <li><a href='praesidium.php' <? echo $id[2]; ?>>&raquo; praesidium</a></li>
                    <li><a href='akuut.php' <? echo $id[3]; ?>>&raquo; akuut</a></li>
                    <li><a href='sponsors.php' <? echo $id[4]; ?>>&raquo; sponsors</a></li>
                </ul>
            </li>
            <li><a href='docs.php' <? echo $id[5]; ?>>doc's bar</a>
                <ul>
                    <li><a href='docs.php' <? echo $id[5]; ?>>&raquo; doc's</a></li>
                    <li><a href='docs.php?actie=zamo' <? echo $id[18]; ?>>&raquo; zamo</a></li>
                </ul>
            </li>
            <li><a href='kalender.php' <? echo $id[6]; ?>>kalender</a>
                <ul>
                    <li><a href='evenementen.php' <? echo $id[7]; ?>>&raquo; evenementen</a></li>
                </ul>
            </li>
            <li><a href='fotos.php' <? echo $id[8]; ?>>foto's</a></li>
            <li><a href='werking.php' <? echo $id[9]; ?>>Werking</a>
                <ul>
                    <li><a href='jaarraden.php' <? echo $id[10]; ?>>&raquo; jaarraden</a></li>
                    <li><a href='akuut.php?actie=wgakuut' <? echo $id[11]; ?>>&raquo; akuut</a></li>
                    <li><a href='onderwijs.php' <? echo $id[12]; ?>>&raquo; onderwijs</a></li>
                    <li><a href='sociaal.php' <? echo $id[13]; ?>>&raquo; sociaal</a></li>
                    <li><a href='sport.php' <? echo $id[14]; ?>>&raquo; sport</a></li>
                    <li><a href='werkgroepen.php' <? echo $id[15]; ?>>&raquo; werkgroepen</a></li>
                </ul>
            </li>
            <li><a href='eerstejaars.php' <? echo $id[16]; ?>>eerstejaars</a></li>
            <li><a href='https://www.medica-csd.be' target='_blank'>cursusdienst</a></li>
            <li style='border:none;'><a href='http://www.medica.be/w' target='_blank'>wikimedica</a></li>
            <li><a href='international.php' <? echo $id[17]; ?>>international <img src='site/images/gb.png'></a></li>
        </ul>
    </div>
开关:

$case = array("index","medica","praesidium","akuut","sponsors","docs","docs_zamo","kalender","evenementen","fotos","werking","jaarraden","akuut_wgakuut","onderwijs","sociaal","sport","werkgroepen","eerstejaars","international",);

if (($_SERVER['QUERY_STRING'] != "") && (in_array(basename($_SERVER['PHP_SELF'],'.php') ."_". str_replace('actie=','',$_SERVER['QUERY_STRING']),$case) == true)) {
    $current = basename($_SERVER['PHP_SELF'],'.php') ."_". str_replace('actie=','',$_SERVER['QUERY_STRING']);
}
else {$current = basename($_SERVER['PHP_SELF'],'.php');}
$id = array("","","","","","","","","","","","","","","","","","","");
switch($current)
{
    case $case[0]:$id[0]="class = 'here'";break;
    case $case[1]:$id[1]="class = 'here'";break;
    case $case[2]:$id[2]="class = 'here'";break;
    case $case[3]:$id[3]="class = 'here'";break;
    case $case[4]:$id[4]="class = 'here'";break;
    case $case[5]:$id[5]="class = 'here'";break;
    case $case[6]:$id[18]="class = 'here'";break;
    case $case[7]:$id[6]="class = 'here'";break;
    case $case[8]:$id[7]="class = 'here'";break;
    case $case[9]:$id[8]="class = 'here'";break;
    case $case[10]:$id[9]="class = 'here'";break;
    case $case[11]:$id[10]="class = 'here'";break;
    case $case[12]:$id[11]="class = 'here'";break;
    case $case[13]:$id[12]="class = 'here'";break;
    case $case[14]:$id[13]="class = 'here'";break;
    case $case[15]:$id[14]="class = 'here'";break;
    case $case[16]:$id[15]="class = 'here'";break;
    case $case[17]:$id[16]="class = 'here'";break;
    case $case[18]:$id[17]="class = 'here'";break;
}
?>
<div id='menu'>
        <ul>
            <li><a href='index.php' <? echo $id[0]; ?>>home</a></li>
            <li><a href='medica.php' <? echo $id[1]; ?>>medica</a>
                <ul>
                    <li><a href='praesidium.php' <? echo $id[2]; ?>>&raquo; praesidium</a></li>
                    <li><a href='akuut.php' <? echo $id[3]; ?>>&raquo; akuut</a></li>
                    <li><a href='sponsors.php' <? echo $id[4]; ?>>&raquo; sponsors</a></li>
                </ul>
            </li>
            <li><a href='docs.php' <? echo $id[5]; ?>>doc's bar</a>
                <ul>
                    <li><a href='docs.php' <? echo $id[5]; ?>>&raquo; doc's</a></li>
                    <li><a href='docs.php?actie=zamo' <? echo $id[18]; ?>>&raquo; zamo</a></li>
                </ul>
            </li>
            <li><a href='kalender.php' <? echo $id[6]; ?>>kalender</a>
                <ul>
                    <li><a href='evenementen.php' <? echo $id[7]; ?>>&raquo; evenementen</a></li>
                </ul>
            </li>
            <li><a href='fotos.php' <? echo $id[8]; ?>>foto's</a></li>
            <li><a href='werking.php' <? echo $id[9]; ?>>Werking</a>
                <ul>
                    <li><a href='jaarraden.php' <? echo $id[10]; ?>>&raquo; jaarraden</a></li>
                    <li><a href='akuut.php?actie=wgakuut' <? echo $id[11]; ?>>&raquo; akuut</a></li>
                    <li><a href='onderwijs.php' <? echo $id[12]; ?>>&raquo; onderwijs</a></li>
                    <li><a href='sociaal.php' <? echo $id[13]; ?>>&raquo; sociaal</a></li>
                    <li><a href='sport.php' <? echo $id[14]; ?>>&raquo; sport</a></li>
                    <li><a href='werkgroepen.php' <? echo $id[15]; ?>>&raquo; werkgroepen</a></li>
                </ul>
            </li>
            <li><a href='eerstejaars.php' <? echo $id[16]; ?>>eerstejaars</a></li>
            <li><a href='https://www.medica-csd.be' target='_blank'>cursusdienst</a></li>
            <li style='border:none;'><a href='http://www.medica.be/w' target='_blank'>wikimedica</a></li>
            <li><a href='international.php' <? echo $id[17]; ?>>international <img src='site/images/gb.png'></a></li>
        </ul>
    </div>
HTML:

$case = array("index","medica","praesidium","akuut","sponsors","docs","docs_zamo","kalender","evenementen","fotos","werking","jaarraden","akuut_wgakuut","onderwijs","sociaal","sport","werkgroepen","eerstejaars","international",);

if (($_SERVER['QUERY_STRING'] != "") && (in_array(basename($_SERVER['PHP_SELF'],'.php') ."_". str_replace('actie=','',$_SERVER['QUERY_STRING']),$case) == true)) {
    $current = basename($_SERVER['PHP_SELF'],'.php') ."_". str_replace('actie=','',$_SERVER['QUERY_STRING']);
}
else {$current = basename($_SERVER['PHP_SELF'],'.php');}
$id = array("","","","","","","","","","","","","","","","","","","");
switch($current)
{
    case $case[0]:$id[0]="class = 'here'";break;
    case $case[1]:$id[1]="class = 'here'";break;
    case $case[2]:$id[2]="class = 'here'";break;
    case $case[3]:$id[3]="class = 'here'";break;
    case $case[4]:$id[4]="class = 'here'";break;
    case $case[5]:$id[5]="class = 'here'";break;
    case $case[6]:$id[18]="class = 'here'";break;
    case $case[7]:$id[6]="class = 'here'";break;
    case $case[8]:$id[7]="class = 'here'";break;
    case $case[9]:$id[8]="class = 'here'";break;
    case $case[10]:$id[9]="class = 'here'";break;
    case $case[11]:$id[10]="class = 'here'";break;
    case $case[12]:$id[11]="class = 'here'";break;
    case $case[13]:$id[12]="class = 'here'";break;
    case $case[14]:$id[13]="class = 'here'";break;
    case $case[15]:$id[14]="class = 'here'";break;
    case $case[16]:$id[15]="class = 'here'";break;
    case $case[17]:$id[16]="class = 'here'";break;
    case $case[18]:$id[17]="class = 'here'";break;
}
?>
<div id='menu'>
        <ul>
            <li><a href='index.php' <? echo $id[0]; ?>>home</a></li>
            <li><a href='medica.php' <? echo $id[1]; ?>>medica</a>
                <ul>
                    <li><a href='praesidium.php' <? echo $id[2]; ?>>&raquo; praesidium</a></li>
                    <li><a href='akuut.php' <? echo $id[3]; ?>>&raquo; akuut</a></li>
                    <li><a href='sponsors.php' <? echo $id[4]; ?>>&raquo; sponsors</a></li>
                </ul>
            </li>
            <li><a href='docs.php' <? echo $id[5]; ?>>doc's bar</a>
                <ul>
                    <li><a href='docs.php' <? echo $id[5]; ?>>&raquo; doc's</a></li>
                    <li><a href='docs.php?actie=zamo' <? echo $id[18]; ?>>&raquo; zamo</a></li>
                </ul>
            </li>
            <li><a href='kalender.php' <? echo $id[6]; ?>>kalender</a>
                <ul>
                    <li><a href='evenementen.php' <? echo $id[7]; ?>>&raquo; evenementen</a></li>
                </ul>
            </li>
            <li><a href='fotos.php' <? echo $id[8]; ?>>foto's</a></li>
            <li><a href='werking.php' <? echo $id[9]; ?>>Werking</a>
                <ul>
                    <li><a href='jaarraden.php' <? echo $id[10]; ?>>&raquo; jaarraden</a></li>
                    <li><a href='akuut.php?actie=wgakuut' <? echo $id[11]; ?>>&raquo; akuut</a></li>
                    <li><a href='onderwijs.php' <? echo $id[12]; ?>>&raquo; onderwijs</a></li>
                    <li><a href='sociaal.php' <? echo $id[13]; ?>>&raquo; sociaal</a></li>
                    <li><a href='sport.php' <? echo $id[14]; ?>>&raquo; sport</a></li>
                    <li><a href='werkgroepen.php' <? echo $id[15]; ?>>&raquo; werkgroepen</a></li>
                </ul>
            </li>
            <li><a href='eerstejaars.php' <? echo $id[16]; ?>>eerstejaars</a></li>
            <li><a href='https://www.medica-csd.be' target='_blank'>cursusdienst</a></li>
            <li style='border:none;'><a href='http://www.medica.be/w' target='_blank'>wikimedica</a></li>
            <li><a href='international.php' <? echo $id[17]; ?>>international <img src='site/images/gb.png'></a></li>
        </ul>
    </div>

整个街区

switch($current)
{
    case $case[0]:$id[0]="class = 'here'";break;
    case $case[1]:$id[1]="class = 'here'";break;
    case $case[2]:$id[2]="class = 'here'";break;
    case $case[3]:$id[3]="class = 'here'";break;
    case $case[4]:$id[4]="class = 'here'";break;
    case $case[5]:$id[5]="class = 'here'";break;
    case $case[6]:$id[18]="class = 'here'";break;
    case $case[7]:$id[6]="class = 'here'";break;
    case $case[8]:$id[7]="class = 'here'";break;
    case $case[9]:$id[8]="class = 'here'";break;
    case $case[10]:$id[9]="class = 'here'";break;
    case $case[11]:$id[10]="class = 'here'";break;
    case $case[12]:$id[11]="class = 'here'";break;
    case $case[13]:$id[12]="class = 'here'";break;
    case $case[14]:$id[13]="class = 'here'";break;
    case $case[15]:$id[14]="class = 'here'";break;
    case $case[16]:$id[15]="class = 'here'";break;
    case $case[17]:$id[16]="class = 'here'";break;
    case $case[18]:$id[17]="class = 'here'";break;
}
可替换为循环:

for($i=0;$i<19;$i++) {
    if($case[$i] == $current) {
        $id[$i] = "class = 'here'";
        break;
    }
}

for($i=0;$ior有人能改进我的代码吗,即使它能工作呢?$case[6]:$id[18]=“class='here'”;break;原始代码中的case?这很有趣,谢谢!关于$case[6]:$id[18]->我可以更改数组中的对应位置:)你的循环代码错了,但我设法解决了:)for($i=0;$iSorry,这是我的错误,我已经纠正了。)