1
21
这是一个不寻常的成语,当你读它的时候,它会引起一点停顿,一瞬间“啊?”。它是有效的,但大多数人可能希望在结尾找到默认情况:
|
2
9
如果有人像我一样通过谷歌找到这个页面: 我和乔希一样想知道-所以… 一件事是标准,我认为我们都应该努力遵守,但另一件事是黑客攻击(在:以某种方式利用各种可能性)。 虽然这很难看/奇怪/不正常-这是可能的,而且imho在一些罕见的情况下可能有用… 考虑以下事项:
如果
而如果
它知道这不是最好的例子,但你明白这一点;) 希望它能帮助别人。 |
3
4
这就是我可能会做的…它很容易被人看到并保持功能。
|
4
4
看起来很奇怪,原因和
如果它是有效的,看起来会很奇怪。如果仅仅因为这个原因,我会避免的。
另外,你知道
每一次
你把代码给别人看,你得解释一下
|
5
3
我个人更喜欢这样
|
6
2
通常的做法是将默认选项定义为最后一个选项。但是我认为您的解决方案没有任何问题(如果您的公司中没有预定义的模式,那么如何布局代码) |
7
2
一开始让我很痛苦,但那只是因为我们不习惯这样看待事情。 我建议您高度记录这一点,因为有些人可能会称之为“棘手的”代码。一个noob或者一些未来的维护人员可能会来把它移动到底部,在那里他们更容易接受它,并打破了在顶部的副作用。 |
8
2
这对于流程控制非常方便,特别是在您不在案例之间中断的情况下。 例如:
你可以加上一个“如果”,或者一个聪明的“或者”来
|
9
1
其他答案给出了很好的例子,只是为了清楚起见… 除非包含中断,否则案例(包括默认)不会在其结尾处停止执行。尽管开关经常被比作if-elseif-elseif等的序列,但它并不完全是这样。 短版: 开关/外壳仅起到if/else if/else的作用 如果 每种情况下都包括休息时间。switch/case更像是一系列“if”语句,其中每个语句都有相同的变量检查,检查的值不同。 长版本: 不包括休息,每个案例都是一个“开始在这里”,并且在很多方面的差异使得它更接近goto而没有缺点。从技术上讲,如果你真的想(读,是一个自虐的程序员,想真正挑战自己),你可以使用一个外部数组、一个for循环和一个嵌套在内部的开关来编写几乎所有的过程程序。 说真的,你为什么要这样做让我很困惑,但它确实证明了开关/案例可以偏离if/elseif模式多远,所以出于学术原因(但不要这样做!)…
这段代码的运行方式(在设置了用于捕获和设置选项的内容之后)是
所以…您可以使用开关来反映基本的… 但是如果你这样做了,我必须在你这样写之后调试你的代码… 愿莱纳斯·托瓦尔兹宽恕你的灵魂。 |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |