|
|
1
15
将函数映射到字典/关联数组中的键是这种情况下的一种常见方法(正如@jldupont所提到的)——不仅在PHP中,而且在许多具有关联数组的动态语言中。例如,Python和Lua甚至没有 有 switch语句——这几乎是模拟交换机的唯一方法。 考虑这种方法:
输出: Goodbye. Hello. 当你只有两个不同的值时,这是多余的,但随着你必须覆盖的情况数量的增加,这显然是一种更有价值的方法。 |
|
|
2
5
我倾向于在foreach循环中使用开关。依我之见,它比一堆if还脏。 您可以将开关置于其他功能中,例如:
|
|
|
3
4
这不是一个“坏”的解决方案,但一如既往,还有其他选择。例如,您可以去掉switch语句,对字符串使用解释型处理程序。这类似于函数指针列表,但您不必保持列表最新以添加新行为;只需将新函数添加到处理程序中即可处理它。
您可能需要一些代码来清理输入字符串,并确保该方法存在于您的处理程序中,但这可能会给您一些想法。 |
|
|
4
1
还有(至少)另一种可能性:使用字典查找将工作分配给函数。
|
|
|
5
0
试试这个: 使用开关和if对每个版本运行一百万次。每次跑步的时间。 让我们知道哪一个跑得更快。 |
|
|
6
0
这没什么不对的。 如果你只有两三个项目,为了代码的复杂性,我会选择If。如果你有超过5个,我肯定会选择这个开关。.. |
|
|
Bunyamin Erkaya · 使用开关输入后立即断开,或者如果 2 年前 |
|
|
Ettapp · switch语句中的类型保护类 2 年前 |
|
|
user23760512 · 所欠所得税的计算不正确 2 年前 |
|
|
Johnml · 将if-else语句转换为Switch语句 2 年前 |
|
Piotr Siupa · 如何在switch语句中使用太空船操作员 2 年前 |
|
|
Sybe · 将输入转换为数字的方法不起作用[重复] 2 年前 |