![]() |
1
15
在这种情况下,将函数映射到字典/关联数组中的键是一种常见的方法(正如@jldupont所提到的),不仅在PHP中,而且在许多具有关联数组的动态语言中。例如,python和lua甚至没有 有 switch语句——这几乎是模拟交换机的唯一方法。 考虑这种方法:
输出: Goodbye. Hello. 当您只有两个不同的值时,这是一种过度杀伤力,但是很明显,随着您必须处理的情况数量的增加,这会成为一种更有价值的方法。 |
![]() |
2
5
这不是一个“坏”的解决方案,但和往常一样,还有其他选择。例如,可以去掉switch语句,并对字符串使用解释处理程序。这类似于函数指针的列表,但是您不必保持列表的最新状态来添加新的行为;只需将新函数添加到处理程序就可以了。
您可能需要一些代码来清理输入字符串并确保该方法存在于处理程序中,但这可能会给您一些建议。 |
![]() |
3
4
我倾向于在前臂回路中使用开关。imho比一堆if还脏。 您可以将开关置于其他功能中,例如:
|
![]() |
4
1
还有(至少)另一种可能性:使用字典查找将工作分派给函数。 使用$key作为“key”查找函数,检索函数引用并以$value作为参数应用它。 原谅我,我的php-fu有点生锈了。 |
![]() |
5
0
试试这个: 用开关和中频运行每个版本一百万次。每次运行的时间。 让我们知道哪个跑得更快。 |
![]() |
6
0
没什么问题。 如果您只有2或3个项目,那么为了代码的复杂性,我将使用if。如果你有5个以上,我绝对会带着开关走… |
![]() |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
![]() |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
|
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |