php if效率,php的if和switch语句效率比较

在switch语句中条件只求值一次并用来和每个case语句比较,在elseif语句中条件会再次求值

如果条件比一个简单的比较要复杂得多或者在一个很多次的循环中,那么用switch语句可能会快一些

例子:

if ($hackhp==1) {echo "hackhp1";} elseif ($hackhp==2) {echo "hackhp2";} elseif ($hackhp==3) {echo "hackhp3";}

以上是if代码的一个片段,在最差的状况下,也就是当$hackhp=3时,共运行了3次比较,而且每次比较都必须取出$hackhp的值一次

如果换成switch

switch ($hackhp) {case 1: echo "1";break;case 2: echo "2";break;case 3: echo "3";break;}

只在开头switch的括号中取出$hackhp的值,然后把值与case值逐一进行比较

总结:

1.当只进行一次比较时,推荐使用if,原因很简单,此时if与switch没有本质区别,而用if代码较为简洁,省去多余字节

2.当多次纯粹的比较数字或字符时,推荐使用switch,当进行N次比较,switch只取值一次,而if……elseif则取值1<=x<=N(x为实际次数)

3.当遇到复合条件时,应该视情况而灵活运用if与switch

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值