变量$s的值没有规律,并且还会增加条件中值的个数,维护不是很方便。请问以下语句怎么优化?if ($s==6 || $s==9 || $s==11 || $s==13 || $s==15 || $s==17 || $s==19 || $s==21 || $s==23 || $s==28)还有多个 switch 分支语句,怎么效率才能高效呢? switch ($s1)
{
case 1:
$title = "2009年2月xxxxxxxxxxxx";
$width = 750;
$_SESSION['s1'] = $s1;
break;
//.............这里省略若干行case
case 52:
$title = "2009年5月xxxxx";
$width = 990;
$_SESSION['s1'] = $s1;
break;

解决方案 »

  1.   

    if ($s==6 || $s==9 || $s==11 || $s==13 || $s==15 || $s==17 || $s==19 || $s==21 || $s==23 || $s==28)这个也可以用switch方法 switch(){case'6':case'9':case'11':case'13':...break;}如果你下面的那个switch中有规律的话你用函数会好点,如果没规律只能这样了。
      

  2.   

    //把值放数组里用in_array判断
    $s_arr = array(6,9,11,....);
    if(in_array($s,$s_arr))
    {
    return true;
    }
    return false;switch貌似有些规律?可以用一个函数搞定function getData($week)
    {
    $title=....
    }
      

  3.   

    重复的东西,还是做成function好点。