1
switch($app_id){
case (
$app_id == 1 ||
$app_id == 2
):
//do something
break;
case 3:
//do something else
break;
}
和
2
switch($app_id){
case 1:
case 2:
//do something
break;
case 3:
//do something else
break;
}
除了礼仪之外,还有更好的理由为什么你不会做第二件事还是完全取决于你?
我问的原因是因为在 php.net 中它说你不应该做后者,无论你是否愿意(来自 php.net 的片段说你不应该不间断地做案例,无论你是否想堆叠查询或不是):
<?php
switch ($i) {
case 0:
echo "i equals 0";
case 1:
echo "i equals 1";
case 2:
echo "i equals 2";
}
?>
在这里,如果 $i 等于 0,PHP 将执行所有的 echo 语句!如果 $i 等于 1,PHP 将执行最后两个 echo 语句。仅当 $i 等于 2 时,您才会得到预期的行为(将显示“i 等于 2”)。因此,重要的是不要忘记 break 语句(即使在某些情况下您可能希望避免故意提供它们)。
到目前为止的原因:
回答:如果我省略了一个休息时间以允许跌倒,我会发表评论说发生了跌倒,这样下一个出现的人就不会“啊哈!错过休息!繁荣”-马克 B
我的评论:很好的理由马克!那是礼仪的流浪汉。如果你打破它,人们还没有准备好被他们的队长正确性所欺骗。
答案: @JamesT:您所读到的内容只会警告您不要错误地忘记它,因为这是一个非常常见的编程错误。如果它是有意的,你可以这样做。——宇智波斑
我的评论:我认为礼仪赢得了这个问题。一定要插入中断,因为它可能会让下一个编辑你的代码的人感到困惑;唉,如果你足够明智地发表评论来解释你打算错过它,那就去做吧
回答:你错过了理解他们的情绪。他们正在谈论在每种情况下都有单独的操作时省略休息,例如我的第一个示例。如果在案例之间完全共享操作,则对案例进行分组,例如示例一中的 4 和 5 是非常好的和鼓励的。– 罗科德
我的评论:我同意这句话可能被误读。除了让未来的开发人员质疑你是否有意离开突破之外,我认为没有任何理由。