php 请问各位前辈下面这段判断语句可以怎么优化
if($sum==7){$sz+=135;}elseif($sum==5){$sz+=80;}elseif($sum==6){$sz+=97;}elseif($sum==...
if($sum==7){ $sz+=135; }elseif($sum==5){ $sz+=80;}elseif($sum==6){$sz+=97;}elseif($sum==4){$sz+=99;}elseif($sum==3){$sz+=26;}elseif($sum==3){
$sz+=57;}elseif($sum==2){$sz+=10;}elseif($sum==1){$sz+=30;}elseif($sum==8){$sz+=40;}
$sum 是从另一个页面传过来的值 展开
$sz+=57;}elseif($sum==2){$sz+=10;}elseif($sum==1){$sz+=30;}elseif($sum==8){$sz+=40;}
$sum 是从另一个页面传过来的值 展开
2个回答
展开全部
用关联数组,如下:
$arr = Array(
"1"=>"30",
"2"=>"10",
"3"=>"57",
"4"=>"99",
"5"=>"80",
"6"=>"97",
"7"=>"135",
"8"=>"40",
);
$sz += $arr[$sum];
把会变化的部分集中在关联数组$arr里,以后维护,变化,只改变$arr数组即可。
$arr = Array(
"1"=>"30",
"2"=>"10",
"3"=>"57",
"4"=>"99",
"5"=>"80",
"6"=>"97",
"7"=>"135",
"8"=>"40",
);
$sz += $arr[$sum];
把会变化的部分集中在关联数组$arr里,以后维护,变化,只改变$arr数组即可。
追问
嗯,谢咯
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接改成switch语句就可以了
更多追问追答
追问
用 switch 判断下来代码也会很长 请问还有没有什么方法可以优化代码实现这功能的
追答
你这是选择判断,必须要用到分支结构啊,没有别的办法吧
或者有个可以凑得方法,你定义好一个数组
$arr=array(1=>30,2=>10,3=>57,4=>99,5=>80,6=>97,7=>135,8=>40);
foreach($arr as $_k => $_v){
if($nums==$_k){
$nums+=$arr[$_k];
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询