有人可以建议我如何替换下面的代码吗?
如何重写代码以避免块的重复case 3:{code block A; break;}
?
switch(i) {
case 1: {code block A; break;}
case 2: {code block b; break;}
case 3: {code block A; break;}
default: {code block default; break;}
}
如何合并案例 1 和案例 3 的代码?
该格式显示在PHP docs https://www.php.net/manual/en/control-structures.switch.php:
switch (i) {
case 1:
case 3:
code block A;
break;
case 2:
code block B;
break;
default:
code block default;
break;
}
编辑 2021 年 4 月 19 日:
随着 PHP8 和新版本的发布match
函数,它通常是更好的解决方案match
代替switch
.
对于上面的例子,相当于match
将会 :
$matchResult = match($i) {
1, 3 => // code block A
2 => // code block B
default => // code block default
}
The match
语句更短,不需要中断并返回一个值,因此您不必多次赋值。
而且,match
会表现得像在做一个===
代替==
。这可能会引起讨论,但事实就是如此。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)