0

这是我的代码:

$aClass = '';
$bClass = '';
$cClass = '';

if ($_GET['data'] == 'a')
{
    $aClass = ' active';
}
else if ($_GET['data'] == 'b')
{
    $bClass = ' active';
}
else if ($_GET['data'] == 'c')
{
    $cClass = ' active';
}

if ($aClass == '' && $bClass == '' && $cClass == '')
{
    $aClass = ' active';
}

有任何想法吗?这似乎是混乱和多余的。

4

4 回答 4

3

您可以使用switch-case构造

switch($_GET['data']) {
    case "a": //redundant it is also the default case
        $aClass = ' active';
        break;
    case "b":
        $bClass = ' active';
        break;
    case "c":
        $cClass = ' active';
        break;
    default:
        $aClass = ' active';
}
于 2013-02-23T06:53:56.170 回答
2

只需 4 行 ;)

if ($_GET['data'] == 'b' || $_GET['data'] == 'c')
  ${$_GET['data'] . 'Class'} = ' active';
else
  $aClass = ' active';
于 2013-02-23T07:08:37.720 回答
0

听起来你正在设置一个 CSS 类。如果是这样,你可以试试

if ($_GET['data'] == 'b')
{
    $bClass = ' active';
}
else if ($_GET['data'] == 'c')
{
    $cClass = ' active';
}
else
{
    $aClass = ' active';
}
于 2013-02-23T06:54:53.540 回答
0
switch ($_GET['data']) {
case 'a': $aClass = ' active';
break;
//ETC....
case default: 
$aClass = ' active';
break;
}
于 2013-02-23T06:55:03.550 回答