if($A=='xxx'){     }elseif($A=='xxx'){      }elseif($A=='xxx'){      }............elseif($A=='xxx'){      }----------------------------------------------------------------------------
这样根据传入的参数判断分支长达16个 最高达到20个 有没有更好的解决方法?担心判断过多影响执行效率 望高手指点一二 谢谢!

解决方案 »

  1.   

    switch($A)
    {
       case "aa": break;
       case "bb": break;
       case "cc": break;
       case "dd": break;
       default: break;
    }
      

  2.   

    根据传入的不同参数 把生成的html文件放入不同的分类文件夹内 举例:电脑-{声卡,显卡,显示器,内存,硬盘.........} 因为我担心如果都放在一个文件夹内 如果生成的html文件过多也会影响效率 只好分类别放在各自的文件夹内 如果传过来的是声卡 生成的html就放在名字为声卡的文件夹内 只是这样判断的分支太多 哟没有更好的解决方法 谢谢!
      

  3.   


    开始也想用这个 只是case后要执行一大段代码 看上去也不怎么美观 反而觉得elseif更清晰一点
      

  4.   

    $yourArray = ("para_a"=>"a/","para_b"=>"b/","para_c"=>"c/");//共通文件/*引入共通文件*/
    $yourPara = $_GET['yourPara'];
    if($yourArray[$yourPara]!=""){
      把生成的html文件放入$yourArray[$yourPara]
    }这样管理起来我想要比ifelse要明了
      

  5.   

    $yourArray = array("para_a"=>"a/","para_b"=>"b/","para_c"=>"c/");
      

  6.   


    $array = array('声卡', '显卡','硬盘');
    $up='声卡'
    if ($array[$up]!=" ")
    {
    echo 'yyyyyyyyyy';
    }
    else
    {
    echo 'ppppppppppp';
    }语法错误,行不通啊
      

  7.   

    $array = array('声卡'=>"aaa", '显卡'=>"bbb",'硬盘'=>"ccc");
    $up='声卡';
    if ($array[$up]!="aaa")
    {
    echo 'yyyyyyyyyy';
    }
    else
    {
    echo 'ppppppppppp';
    }
      

  8.   

    估计没发改了,要不elseif还有它存在的价值吗
      

  9.   

    你还真不能这么写呀,那维护起来怎么办,再往上加elseif?,建议写PHP 文件,或都是xml吧
      

  10.   

    XML文件控制可以考虑,就是操作起来可能比这个复杂些!