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 是从另一个页面传过来的值
展开
 我来答
xinyu11290124
2014-02-14 · TA获得超过281个赞
知道小有建树答主
回答量:110
采纳率:0%
帮助的人:74.7万
展开全部
用关联数组,如下:
$arr = Array(
"1"=>"30",
"2"=>"10",
"3"=>"57",
"4"=>"99",
"5"=>"80",
"6"=>"97",
"7"=>"135",
"8"=>"40",
);
$sz += $arr[$sum];
把会变化的部分集中在关联数组$arr里,以后维护,变化,只改变$arr数组即可。
追问
嗯,谢咯
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
莘赡05V
2014-02-14 · 知道合伙人软件行家
莘赡05V
知道合伙人软件行家
采纳数:1397 获赞数:3710
毕业安徽理工大学

向TA提问 私信TA
展开全部
直接改成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];
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式