switch($app_id){
case (
$app_id == 1 ||
$app_id == 2
):
//do something
break;
case 3:
//do something else
break;
}
和
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将执行所有的print语句!如果$ i等于1,PHP将执行最后两个回声语句。只有当$ i等于2时,才会得到预期的行为('我等于2')。因此,重要的是不要忘记突破语句(,即使您希望避免在某些情况下故意提供它们情况)。
原因至今:
回答:如果我忽略中断允许落空,我把一个 评论说,有落空的现象发生,只是这样的 下一个人来一起不走 - 马克乙
我的评论“啊哈缺少休息BOOM!”:很好的理由马克!那就是礼仪的屁股..如果你打破了它,人们还没有准备好被他们的队长 正确性所吸引。
答案: @JamesT:你读过什么只发出警告,错误地忘记它 ,因为它是一个非常常见的编程错误。如果有意的话,你可以做 。 - Madara Uchiha
我的评论:我认为那时礼仪赢得了这个问题。请将 中止,因为它可能会让您的代码编辑 的下一个人感到困惑;唉做,如果你有足够的理智地加入了注释 解释你的意思错过它
解答:你错过了解他们的情绪。他们正在讨论在每个案例都有单独行动时省略休息时间,比如我的第一个例子。如果将行为完全分享到案例中,将例如我的4和5这样的案例分组就非常好,并且会受到鼓励。 - Rawkode
我的评论:我同意这句话可能会被误读。我没有看到任何理由,除了让未来的开发人员疑惑你是否确实打算离开。
我不认为你正确地放置你的'break'语句。 – Blazemonger
其实,你根本不应该使用'switch'。 – moonwave99
对不起,请重新提问,我点了问题。抱歉。我修正了它。 – Jimmyt1988